tmf: Add the ID to the analysis property
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Wed, 2 Mar 2016 16:33:09 +0000 (11:33 -0500)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Wed, 16 Mar 2016 13:58:15 +0000 (09:58 -0400)
This property is useful when developing data-driven views for existing
analyses.

Change-Id: I72fc0287c719326fe3a4de73cccafbfcffc490e9
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/67823
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Hudson CI
tmf/org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/statesystem/StateSystemAnalysisModuleTest.java
tmf/org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/analysis/TestStateSystemModule.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/analysis/Messages.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/analysis/TmfAbstractAnalysisModule.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/analysis/messages.properties
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/statesystem/TmfStateSystemAnalysisModule.java

index 1ccf3445c9f3df1c186b2098ca108f7bd63f872e..f57147066de29d6cb51ab8cbb813582def6b9a46 100644 (file)
@@ -24,8 +24,10 @@ import java.util.concurrent.TimeUnit;
 import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
 import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal;
+import org.eclipse.tracecompass.tmf.core.statesystem.Messages;
 import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
 import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
+import org.eclipse.tracecompass.tmf.tests.stubs.analysis.TestStateSystemModule;
 import org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub;
 import org.junit.After;
 import org.junit.Before;
@@ -105,13 +107,13 @@ public class StateSystemAnalysisModuleTest {
     @Test
     public void testProperties() {
 
-        TmfStateSystemAnalysisModule mod = module;
-        assertNotNull(mod);
+        assertTrue(module instanceof TestStateSystemModule);
+        TestStateSystemModule mod = (TestStateSystemModule) module;
 
-        /* The stub state system has in mem backend so only 1 property */
+        /* The stub state system has in mem backend 2 properties */
         Map<String, String> properties = mod.getProperties();
-        assertEquals(1, properties.size());
-
+        assertEquals(mod.getBackendName(), properties.get(Messages.TmfStateSystemAnalysisModule_PropertiesBackend));
+        assertEquals(mod.getId(), properties.get(org.eclipse.tracecompass.tmf.core.analysis.Messages.TmfAbstractAnalysisModule_LabelId));
     }
 
 }
index 65ecf3e38d803b29a8798b21b6dcb08de5a4e982..2ddc53bab7f407d74c5cf0b2eba549c73794ea30 100644 (file)
@@ -36,4 +36,13 @@ public class TestStateSystemModule extends TmfStateSystemAnalysisModule {
         return StateSystemBackendType.INMEM;
     }
 
+    /**
+     * Get the name of the backend
+     *
+     * @return The name of the backend used
+     */
+    public String getBackendName() {
+        return StateSystemBackendType.INMEM.name();
+    }
+
 }
index 78c8e3ae697ccb71c1aeb849f2d0820a1070145b..d992458dfc0b2d4bbd18993c78b709ef7c163c73 100644 (file)
@@ -42,6 +42,10 @@ public class Messages extends NLS {
     /** The trace to set was null */
     public static String TmfAbstractAnalysisModule_NullTrace;
 
+    /** The label for the ID property
+     * @since 2.0*/
+    public static String TmfAbstractAnalysisModule_LabelId;
+
     /** Additional information on a requirement */
     public static String TmfAnalysis_RequirementInformation;
 
index 6d0cc8346d03b12e81511d97ac3bf03d9d28dff5..6df4a158912cb23f15ad4e10cae56d1948382fce 100644 (file)
@@ -29,6 +29,7 @@ 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.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.osgi.util.NLS;
@@ -38,6 +39,7 @@ import org.eclipse.tracecompass.internal.tmf.core.TmfCoreTracer;
 import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
 import org.eclipse.tracecompass.tmf.core.component.TmfComponent;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.tracecompass.tmf.core.signal.TmfStartAnalysisSignal;
 import org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal;
@@ -52,7 +54,8 @@ import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
  * @author Geneviève Bastien
  */
 @NonNullByDefault
-public abstract class TmfAbstractAnalysisModule extends TmfComponent implements IAnalysisModule {
+public abstract class TmfAbstractAnalysisModule extends TmfComponent
+        implements IAnalysisModule, ITmfPropertiesProvider {
 
     private @Nullable String fId;
     private boolean fAutomatic = false, fStarted = false;
@@ -521,4 +524,20 @@ public abstract class TmfAbstractAnalysisModule extends TmfComponent implements
     public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
         return Collections.EMPTY_SET;
     }
+
+    // ------------------------------------------------------------------------
+    // ITmfPropertiesProvider
+    // ------------------------------------------------------------------------
+
+    /**
+     * @since 2.0
+     */
+    @Override
+    public Map<@NonNull String, @NonNull String> getProperties() {
+        Map<@NonNull String, @NonNull String> properties = new HashMap<>();
+
+        properties.put(NonNullUtils.checkNotNull(Messages.TmfAbstractAnalysisModule_LabelId), getId());
+
+        return properties;
+    }
 }
index 1cd4123a28e941a7a8134ff600c682ebed27b339..f154208ca0e89f37223e121c06d92cf143247b66 100644 (file)
@@ -15,6 +15,7 @@ TmfAnalysisModuleHelper_AnalysisDoesNotApply=Cannot perform analysis "{0}" on th
 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_LabelId=ID
 TmfAbstractAnalysisModule_NullTrace=Setting a null trace to analysis module
 TmfAnalysis_RequirementInformation=Additional information: {0}
 TmfAnalysis_RequirementMandatoryValues=Mandatory values: {0}
index 94ebe765517e68ead773820243e2806e78d024c6..b9b0ad08a953e63927e33fbcc6015140ec04d633 100644 (file)
@@ -16,7 +16,6 @@ package org.eclipse.tracecompass.tmf.core.statesystem;
 import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 
@@ -37,7 +36,6 @@ import org.eclipse.tracecompass.statesystem.core.backend.StateHistoryBackendFact
 import org.eclipse.tracecompass.tmf.core.analysis.TmfAbstractAnalysisModule;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest;
 import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
@@ -61,7 +59,7 @@ import org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment;
  * @author Geneviève Bastien
  */
 public abstract class TmfStateSystemAnalysisModule extends TmfAbstractAnalysisModule
-        implements ITmfAnalysisModuleWithStateSystems, ITmfPropertiesProvider {
+        implements ITmfAnalysisModuleWithStateSystems {
 
     private static final String EXTENSION = ".ht"; //$NON-NLS-1$
 
@@ -603,7 +601,7 @@ public abstract class TmfStateSystemAnalysisModule extends TmfAbstractAnalysisMo
      */
     @Override
     public @NonNull Map<@NonNull String, @NonNull String> getProperties() {
-        Map<@NonNull String, @NonNull String> properties = new HashMap<>();
+        Map<@NonNull String, @NonNull String> properties = super.getProperties();
 
         StateSystemBackendType backend = getBackendType();
         properties.put(NonNullUtils.checkNotNull(Messages.TmfStateSystemAnalysisModule_PropertiesBackend), backend.name());
This page took 0.030417 seconds and 5 git commands to generate.