tmf: minor clean-ups for trace analysis under experiments feature
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / project / model / TmfCommonProjectElement.java
index a1d3342d990941332f821485318cff46964a7762..a2818cba5b380a7edbab89707cf8f98d9ff23038 100644 (file)
@@ -21,6 +21,7 @@ import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -101,9 +102,18 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
     }
 
     // ------------------------------------------------------------------------
-    // TmfProjectModelElement
+    // ITmfProjectModelElement
     // ------------------------------------------------------------------------
 
+    /**
+     * @since 2.3
+     */
+    @Override
+    public void dispose() {
+        super.dispose();
+        TmfSignalManager.deregister(this);
+    }
+
     /**
      * @since 2.0
      */
@@ -113,6 +123,10 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
         IPath tracePath = getResource().getFullPath();
         IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
 
+        if (this.getParent() instanceof TmfExperimentElement) {
+            return;
+        }
+
         if (fViewsElement == null) {
             /* Add the "Views" node */
             IFolder viewsNodeRes = root.getFolder(tracePath.append(TmfViewsElement.PATH_ELEMENT));
@@ -272,8 +286,10 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
      */
     public ITmfTrace getTrace() {
         for (ITmfTrace trace : TmfTraceManager.getInstance().getOpenedTraces()) {
-            if (trace.getResource().equals(getResource())) {
-                return trace;
+            for (ITmfTrace t : TmfTraceManager.getTraceSetWithExperiment(trace)) {
+                if (getResource().equals(t.getResource())) {
+                    return t;
+                }
             }
         }
         return null;
@@ -414,12 +430,20 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
      *
      * @return Array of analysis elements
      */
-    public List<TmfAnalysisElement> getAvailableAnalysis() {
+    public List<@NonNull TmfAnalysisElement> getAvailableAnalysis() {
         return getChildElementViews().getChildren().stream()
             .map(elem -> (TmfAnalysisElement) elem)
             .collect(Collectors.toList());
     }
 
+    /**
+     * @since 3.0
+     * @return list of children analysis elements
+     */
+    public List<TmfAnalysisElement> getAvailableChildrenAnalyses() {
+        return Collections.EMPTY_LIST;
+    }
+
     // ------------------------------------------------------------------------
     // Supplementary files operations
     // ------------------------------------------------------------------------
This page took 0.026243 seconds and 5 git commands to generate.