scripting: Replace getAnalysis() by createScriptedAnalysis()
For consistency with the getTraceAnalysis method, the method to create a
scripted analysis also takes the trace in parameter, along with the
name. It also deprecates the getAnalysis method.
[Added] createScriptedAnalysis(ITmfTrace, String) method
[Deprecated] The getAnalysis(String) is deprecated
Change-Id: I3631d830cef9d89d39b1304e5d1a1f58da179c70
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/151117
Tested-by: CI Bot
diff --git a/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/src/org/eclipse/tracecompass/incubator/scripting/core/tests/analysis/AnalysisModuleTest.java b/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/src/org/eclipse/tracecompass/incubator/scripting/core/tests/analysis/AnalysisModuleTest.java
index 846ab89..f678afb 100644
--- a/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/src/org/eclipse/tracecompass/incubator/scripting/core/tests/analysis/AnalysisModuleTest.java
+++ b/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/src/org/eclipse/tracecompass/incubator/scripting/core/tests/analysis/AnalysisModuleTest.java
@@ -56,7 +56,7 @@
ITmfTrace trace = ScriptingTestUtils.getTrace();
try {
- ScriptedAnalysis analysis = scriptModule.getAnalysis(ANALYSIS_NAME);
+ ScriptedAnalysis analysis = scriptModule.createScriptedAnalysis(trace, ANALYSIS_NAME);
assertNotNull(analysis);
Iterator<ITmfEvent> eventIterator = analysis.getEventIterator();
diff --git a/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/stubs/org/eclipse/tracecompass/incubator/scripting/core/tests/stubs/ScriptingTestUtils.java b/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/stubs/org/eclipse/tracecompass/incubator/scripting/core/tests/stubs/ScriptingTestUtils.java
index 8358fde..b088d46 100644
--- a/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/stubs/org/eclipse/tracecompass/incubator/scripting/core/tests/stubs/ScriptingTestUtils.java
+++ b/analyses/org.eclipse.tracecompass.incubator.scripting.core.tests/stubs/org/eclipse/tracecompass/incubator/scripting/core/tests/stubs/ScriptingTestUtils.java
@@ -81,7 +81,7 @@
public static ScriptedAnalysis getAnalysis(ITmfTrace trace, String analysisName) {
AnalysisScriptingModule scriptModule = new AnalysisScriptingModule();
- ScriptedAnalysis analysis = scriptModule.getAnalysis(analysisName);
+ ScriptedAnalysis analysis = scriptModule.createScriptedAnalysis(trace, analysisName);
assertNotNull(analysis);
return analysis;
diff --git a/analyses/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/analysis/AnalysisScriptingModule.java b/analyses/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/analysis/AnalysisScriptingModule.java
index 07d5bdc..3db87d9 100644
--- a/analyses/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/analysis/AnalysisScriptingModule.java
+++ b/analyses/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/analysis/AnalysisScriptingModule.java
@@ -9,6 +9,8 @@
package org.eclipse.tracecompass.incubator.scripting.core.analysis;
+import java.util.Objects;
+
import org.eclipse.ease.modules.WrapToScript;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
@@ -50,8 +52,11 @@
* The name of the analysis
* @return The new analysis, for the active trace, or <code>null</code> if
* there is no active trace.
+ * @deprecated Use {@module #createScriptedAnalysis(ITmfTrace, String)}
+ * instead
*/
@WrapToScript
+ @Deprecated
public @Nullable ScriptedAnalysis getAnalysis(String name) {
ITmfTrace activeTrace = TmfTraceManager.getInstance().getActiveTrace();
if (activeTrace == null) {
@@ -113,4 +118,21 @@
return null;
}
+ /**
+ * Create a scripted analysis with the given name for a trace. If the trace
+ * is <code>null</code>, it will throw a {@link NullPointerException}.
+ *
+ * @param trace
+ * The trace being analyzed.
+ * @param analysisName
+ * The name of the analysis to create. If backends like state
+ * systems are saved by this analysis, this name will be used to
+ * retrieve the previous data.
+ * @return The module
+ */
+ @WrapToScript
+ public ScriptedAnalysis createScriptedAnalysis(@Nullable ITmfTrace trace, String analysisName) {
+ return new ScriptedAnalysis(Objects.requireNonNull(trace, "Trace should not be null"), analysisName); //$NON-NLS-1$
+ }
+
}