tmf: show aggregate property information for aggregate analysis element
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Thu, 18 May 2017 13:00:39 +0000 (09:00 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Fri, 19 May 2017 16:45:00 +0000 (12:45 -0400)
Change-Id: I528dd8999a979be3339c761bb2e1626c60e98c49
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/97477
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfAggregateAnalysisElement.java

index 4f5521080a067db6538888e6ea001b029924aa46..ba5c3922595e8d0f3e79166d85970a1fce2827ac 100644 (file)
@@ -9,11 +9,16 @@
 
 package org.eclipse.tracecompass.tmf.ui.project.model;
 
+import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import org.eclipse.core.resources.IResource;
 import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.tracecompass.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
 
 import com.google.common.base.Joiner;
 
@@ -99,6 +104,7 @@ public class TmfAggregateAnalysisElement extends TmfAnalysisElement {
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
+
     /**
      * Gets the help message for this analysis
      *
@@ -124,4 +130,29 @@ public class TmfAggregateAnalysisElement extends TmfAnalysisElement {
     public void activateParentTrace() {
         TmfOpenTraceHelper.openTraceFromElement(fExperimentParent);
     }
+
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        Set<TmfAnalysisElement> analyses = fContainedAnalyses;
+        List<IPropertyDescriptor> descs = new ArrayList<>();
+        for (TmfAnalysisElement analysis : analyses) {
+            if (analysis.canExecute()) {
+                descs.add(new ReadOnlyTextPropertyDescriptor(analysis.getResource(), analysis.getParent().getParent().getLabelText()));
+            }
+        }
+        return descs.toArray(new IPropertyDescriptor[0]);
+    }
+
+    @Override
+    public Object getPropertyValue(Object id) {
+        if (id instanceof IResource) {
+            Set<TmfAnalysisElement> analyses = fContainedAnalyses;
+            for (TmfAnalysisElement tmfAnalysisElement : analyses) {
+                if (id.equals(tmfAnalysisElement.getResource())) {
+                    return tmfAnalysisElement;
+                }
+            }
+        }
+        return null;
+    }
 }
This page took 0.029989 seconds and 5 git commands to generate.