From 1841657eea27734cea011aff43d2014288319113 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Genevi=C3=A8ve=20Bastien?= Date: Fri, 22 Jul 2016 09:58:13 -0400 Subject: [PATCH] tmf/ust: deprecate AbstractCallStackAnalysis and move the UST module to core MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The only reason the CallStackAnalysisModule were in the UI was to register the view output to it. A listener now does that part so the class in the tmf.ui plugin can be deprecated and LttngUstCallStackAnalysis can also be moved to the .core plugin and be made internal while at it. Change-Id: I80b4c34ff35855b5261a1270e67d10df865d6e0d Signed-off-by: Geneviève Bastien Reviewed-on: https://git.eclipse.org/r/77781 Reviewed-by: Hudson CI --- ...ngUstCallStackAnalysisRequirementTest.java | 4 +- .../plugin.properties | 2 + .../plugin.xml | 10 +++ .../callstack/LttngUstCallStackAnalysis.java | 77 +++++++++++++++++++ .../LttngUstCallStackAnalysisRequirement.java | 2 +- .../lttng2/ust/core}/callstack/Messages.java | 4 +- .../ust/core}/callstack/messages.properties | 0 .../META-INF/MANIFEST.MF | 3 +- .../META-INF/MANIFEST.MF | 1 - .../plugin.properties | 2 - .../plugin.xml | 10 --- .../callstack/LttngUstCallStackAnalysis.java | 6 +- .../plugin.xml | 3 + .../callstack/AbstractCallStackAnalysis.java | 7 +- .../callstack/CallStackAnalysisListener.java | 34 ++++++++ .../tmf/ui/views/callstack/CallStackView.java | 13 ++-- 16 files changed, 147 insertions(+), 31 deletions(-) rename lttng/{org.eclipse.tracecompass.lttng2.ust.ui.tests/src/org/eclipse/tracecompass/lttng2/ust/ui/tests/analysis => org.eclipse.tracecompass.lttng2.ust.core.tests/src/org/eclipse/tracecompass/lttng2/ust/core/tests}/callstack/LTTngUstCallStackAnalysisRequirementTest.java (96%) create mode 100644 lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysis.java rename lttng/{org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis => org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core}/callstack/LttngUstCallStackAnalysisRequirement.java (97%) rename lttng/{org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis => org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core}/callstack/Messages.java (81%) rename lttng/{org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis => org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core}/callstack/messages.properties (100%) create mode 100644 tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackAnalysisListener.java diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/src/org/eclipse/tracecompass/lttng2/ust/ui/tests/analysis/callstack/LTTngUstCallStackAnalysisRequirementTest.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core.tests/src/org/eclipse/tracecompass/lttng2/ust/core/tests/callstack/LTTngUstCallStackAnalysisRequirementTest.java similarity index 96% rename from lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/src/org/eclipse/tracecompass/lttng2/ust/ui/tests/analysis/callstack/LTTngUstCallStackAnalysisRequirementTest.java rename to lttng/org.eclipse.tracecompass.lttng2.ust.core.tests/src/org/eclipse/tracecompass/lttng2/ust/core/tests/callstack/LTTngUstCallStackAnalysisRequirementTest.java index c423c969ac..edd870d898 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/src/org/eclipse/tracecompass/lttng2/ust/ui/tests/analysis/callstack/LTTngUstCallStackAnalysisRequirementTest.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core.tests/src/org/eclipse/tracecompass/lttng2/ust/core/tests/callstack/LTTngUstCallStackAnalysisRequirementTest.java @@ -7,7 +7,7 @@ * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tracecompass.lttng2.ust.ui.tests.analysis.callstack; +package org.eclipse.tracecompass.lttng2.ust.core.tests.callstack; import static org.junit.Assert.assertEquals; @@ -15,7 +15,7 @@ import java.util.Collection; import java.util.Set; import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack.LttngUstCallStackAnalysisRequirement; +import org.eclipse.tracecompass.internal.lttng2.ust.core.callstack.LttngUstCallStackAnalysisRequirement; import org.eclipse.tracecompass.lttng2.ust.core.trace.LttngUstTrace; import org.eclipse.tracecompass.lttng2.ust.core.trace.layout.ILttngUstEventLayout; import org.eclipse.tracecompass.tmf.ctf.core.event.CtfTmfEventType; diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.properties b/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.properties index db7013a862..06821166ac 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.properties +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.properties @@ -14,3 +14,5 @@ Bundle-Vendor = Eclipse Trace Compass Bundle-Name = Trace Compass LTTng Userspace Tracer Analysis Core Plug-in tracetype.type.ust = LTTng UST Trace + +analysis.callstack = LTTng-UST CallStack diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.xml b/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.xml index f11891a8f8..69df9279f1 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.xml +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/plugin.xml @@ -32,5 +32,15 @@ class="org.eclipse.tracecompass.lttng2.ust.core.trace.LttngUstTrace"> + + + + diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysis.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysis.java new file mode 100644 index 0000000000..d9ac6e2ea8 --- /dev/null +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysis.java @@ -0,0 +1,77 @@ +/******************************************************************************* + * Copyright (c) 2014, 2016 Ericsson + * + * All rights reserved. This program and the accompanying materials are + * made available under the 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.tracecompass.internal.lttng2.ust.core.callstack; + +import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.tracecompass.lttng2.ust.core.trace.LttngUstTrace; +import org.eclipse.tracecompass.lttng2.ust.core.trace.layout.ILttngUstEventLayout; +import org.eclipse.tracecompass.tmf.core.analysis.requirements.TmfAbstractAnalysisRequirement; +import org.eclipse.tracecompass.tmf.core.callstack.CallStackAnalysis; +import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException; +import org.eclipse.tracecompass.tmf.core.statesystem.ITmfStateProvider; +import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; + +import com.google.common.collect.ImmutableSet; + +/** + * Call-stack analysis to populate the TMF CallStack View from UST cyg-profile + * events. + * + * @author Alexandre Montplaisir + */ +public class LttngUstCallStackAnalysis extends CallStackAnalysis { + + /** + * ID + */ + public static final String ID = "org.eclipse.linuxtools.lttng2.ust.analysis.callstack"; //$NON-NLS-1$ + + private @Nullable Set<@NonNull TmfAbstractAnalysisRequirement> fAnalysisRequirements = null; + + @Override + public boolean setTrace(ITmfTrace trace) throws TmfAnalysisException { + if (!(trace instanceof LttngUstTrace)) { + return false; + } + return super.setTrace(trace); + } + + @Override + protected LttngUstTrace getTrace() { + return (LttngUstTrace) super.getTrace(); + } + + @Override + protected ITmfStateProvider createStateProvider() { + return new LttngUstCallStackProvider(checkNotNull(getTrace())); + } + + @Override + public @NonNull Iterable<@NonNull TmfAbstractAnalysisRequirement> getAnalysisRequirements() { + + Set<@NonNull TmfAbstractAnalysisRequirement> requirements = fAnalysisRequirements; + if (requirements == null) { + LttngUstTrace trace = getTrace(); + ILttngUstEventLayout layout = ILttngUstEventLayout.DEFAULT_LAYOUT; + if (trace != null) { + layout = trace.getEventLayout(); + } + requirements = ImmutableSet.of(new LttngUstCallStackAnalysisRequirement(layout)); + fAnalysisRequirements = requirements; + } + return requirements; + } + +} diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysisRequirement.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysisRequirement.java similarity index 97% rename from lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysisRequirement.java rename to lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysisRequirement.java index 9af91a621d..771e7070f6 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysisRequirement.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/LttngUstCallStackAnalysisRequirement.java @@ -6,7 +6,7 @@ * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack; +package org.eclipse.tracecompass.internal.lttng2.ust.core.callstack; import static org.eclipse.tracecompass.common.core.NonNullUtils.nullToEmptyString; diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/Messages.java b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/Messages.java similarity index 81% rename from lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/Messages.java rename to lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/Messages.java index 2ce8d1ce45..32bf7ef816 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/Messages.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/Messages.java @@ -6,7 +6,7 @@ * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack; +package org.eclipse.tracecompass.internal.lttng2.ust.core.callstack; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; */ public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack.messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = Messages.class.getPackage().getName() + ".messages"; //$NON-NLS-1$ static { // initialize resource bundle diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/messages.properties b/lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/messages.properties similarity index 100% rename from lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/internal/lttng2/ust/ui/analysis/callstack/messages.properties rename to lttng/org.eclipse.tracecompass.lttng2.ust.core/src/org/eclipse/tracecompass/internal/lttng2/ust/core/callstack/messages.properties diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/META-INF/MANIFEST.MF b/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/META-INF/MANIFEST.MF index 9bbd1eb8ce..5dbe3eef69 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/META-INF/MANIFEST.MF +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.ui.tests/META-INF/MANIFEST.MF @@ -16,8 +16,7 @@ Require-Bundle: org.junit;bundle-version="4.0.0", org.eclipse.tracecompass.tmf.core.tests, org.eclipse.tracecompass.lttng2.ust.core;bundle-version="2.0.0", org.eclipse.tracecompass.tmf.ctf.core;bundle-version="2.0.0" -Export-Package: org.eclipse.tracecompass.lttng2.ust.ui.tests, - org.eclipse.tracecompass.lttng2.ust.ui.tests.analysis.callstack +Export-Package: org.eclipse.tracecompass.lttng2.ust.ui.tests Import-Package: com.google.common.collect, com.google.common.primitives diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/META-INF/MANIFEST.MF b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/META-INF/MANIFEST.MF index 465ae5ded0..f60e2b3fdc 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/META-INF/MANIFEST.MF +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/META-INF/MANIFEST.MF @@ -17,7 +17,6 @@ Require-Bundle: org.eclipse.core.resources, org.eclipse.tracecompass.tmf.ui, org.eclipse.tracecompass.tmf.ctf.core Export-Package: org.eclipse.tracecompass.internal.lttng2.ust.ui;x-friends:="org.eclipse.tracecompass.lttng2.ust.ui.tests", - org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack;x-friends:="org.eclipse.tracecompass.lttng2.ust.ui.tests", org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.debuginfo;x-internal:=true, org.eclipse.tracecompass.internal.lttng2.ust.ui.views.memusage;x-friends:="org.eclipse.tracecompass.lttng2.ust.ui.tests,org.eclipse.tracecompass.lttng2.ust.ui.swtbot.tests", org.eclipse.tracecompass.lttng2.ust.ui.analysis.callstack diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.properties b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.properties index 29cfacc0a0..b56b61c8e7 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.properties +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.properties @@ -15,5 +15,3 @@ Bundle-Name = Trace Compass LTTng Userspace Tracer Analysis UI Plug-in tracetype.type.ust = LTTng UST Trace memoryusage.view.name = UST Memory Usage - -analysis.callstack = LTTng-UST CallStack diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.xml b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.xml index 801eb4b559..130807c2af 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.xml +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/plugin.xml @@ -21,16 +21,6 @@ - - - - diff --git a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java index a8e0d6d3c3..a14431da23 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java +++ b/lttng/org.eclipse.tracecompass.lttng2.ust.ui/src/org/eclipse/tracecompass/lttng2/ust/ui/analysis/callstack/LttngUstCallStackAnalysis.java @@ -19,8 +19,8 @@ import java.util.Set; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.tracecompass.internal.lttng2.ust.core.callstack.LttngUstCallStackAnalysisRequirement; import org.eclipse.tracecompass.internal.lttng2.ust.core.callstack.LttngUstCallStackProvider; -import org.eclipse.tracecompass.internal.lttng2.ust.ui.analysis.callstack.LttngUstCallStackAnalysisRequirement; import org.eclipse.tracecompass.lttng2.ust.core.trace.LttngUstTrace; import org.eclipse.tracecompass.lttng2.ust.core.trace.layout.ILttngUstEventLayout; import org.eclipse.tracecompass.tmf.core.analysis.requirements.TmfAbstractAnalysisRequirement; @@ -36,7 +36,11 @@ import com.google.common.collect.ImmutableSet; * events. * * @author Alexandre Montplaisir + * @deprecated This analysis was moved to core as + * {@link org.eclipse.tracecompass.internal.lttng2.ust.core.callstack.LttngUstCallStackAnalysis} + * and is now internal */ +@Deprecated public class LttngUstCallStackAnalysis extends AbstractCallStackAnalysis { /** diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/plugin.xml b/tmf/org.eclipse.tracecompass.tmf.ui/plugin.xml index fe60b8acba..c32715d9d8 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/plugin.xml +++ b/tmf/org.eclipse.tracecompass.tmf.ui/plugin.xml @@ -1901,6 +1901,9 @@ id="org.eclipse.linuxtools.tmf.core.statistics.analysis"> + + diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/AbstractCallStackAnalysis.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/AbstractCallStackAnalysis.java index 6c39a1f438..665162d7d2 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/AbstractCallStackAnalysis.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/AbstractCallStackAnalysis.java @@ -21,11 +21,10 @@ import org.eclipse.tracecompass.tmf.ui.analysis.TmfAnalysisViewOutput; * The base classes for analyses who want to populate the CallStack View. * * @author Alexandre Montplaisir + * @deprecated Use the {@link CallStackAnalysis} from the core plugins instead + * of this class which was there only to register the view as output */ -/* - * FIXME: deprecate at next release when we can move the callstack view to an - * extension point - */ +@Deprecated @NonNullByDefault public abstract class AbstractCallStackAnalysis extends CallStackAnalysis { diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackAnalysisListener.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackAnalysisListener.java new file mode 100644 index 0000000000..97e49e2147 --- /dev/null +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackAnalysisListener.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2016 École Polytechnique de Montréal + * + * All rights reserved. This program and the accompanying materials are + * made available under the 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.tracecompass.tmf.ui.views.callstack; + +import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule; +import org.eclipse.tracecompass.tmf.core.analysis.ITmfNewAnalysisModuleListener; +import org.eclipse.tracecompass.tmf.core.callstack.CallStackAnalysis; +import org.eclipse.tracecompass.tmf.ui.analysis.TmfAnalysisViewOutput; + +/** + * Registers the {@link CallStackView} to {@link CallStackAnalysis}. The + * analysis being an abstract class, it is not possible to use the output + * extension to add the view, but the listener fixes the issue. + * + * @author Geneviève Bastien + * @since 2.1 + */ +public class CallStackAnalysisListener implements ITmfNewAnalysisModuleListener { + + @Override + public void moduleCreated(IAnalysisModule module) { + if (module instanceof CallStackAnalysis) { + module.registerOutput(new TmfAnalysisViewOutput(CallStackView.ID)); + } + } + +} diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackView.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackView.java index 32d68196c5..6b2aa2484a 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackView.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/callstack/CallStackView.java @@ -59,6 +59,7 @@ import org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException; import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval; import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue; import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue.Type; +import org.eclipse.tracecompass.tmf.core.callstack.CallStackAnalysis; import org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal; import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; import org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal; @@ -541,7 +542,7 @@ public class CallStackView extends AbstractTimeGraphView { } /* Continue with the call stack view specific operations */ - AbstractCallStackAnalysis module = getCallStackModule(trace); + CallStackAnalysis module = getCallStackModule(trace); if (module == null) { addUnavailableEntry(trace, parentTrace); return; @@ -1057,14 +1058,14 @@ public class CallStackView extends AbstractTimeGraphView { return fPrevEventAction; } - private static @Nullable AbstractCallStackAnalysis getCallStackModule(@NonNull ITmfTrace trace) { + private static @Nullable CallStackAnalysis getCallStackModule(@NonNull ITmfTrace trace) { /* * Since we cannot know the exact analysis ID (in separate plugins), we * will search using the analysis type. */ - Iterable modules = - TmfTraceUtils.getAnalysisModulesOfClass(trace, AbstractCallStackAnalysis.class); - Iterator it = modules.iterator(); + Iterable modules = + TmfTraceUtils.getAnalysisModulesOfClass(trace, CallStackAnalysis.class); + Iterator it = modules.iterator(); if (!it.hasNext()) { /* This trace does not provide a call-stack analysis */ return null; @@ -1076,7 +1077,7 @@ public class CallStackView extends AbstractTimeGraphView { * TODO Handle the advanced case where one trace provides more than one * call-stack analysis. */ - AbstractCallStackAnalysis module = it.next(); + CallStackAnalysis module = it.next(); /* This analysis is not automatic, we need to schedule it on-demand */ module.schedule(); if (!module.waitForInitialization()) { -- 2.34.1