tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / internal / tmf / ui / project / handlers / TracePropertyTester.java
index 5bdb993bec45f8c8f2499dc31761ca41f54f6c06..051111833d3d3320efbc3045fdf692d5c3a168e3 100644 (file)
@@ -1,11 +1,11 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson
- * 
+ * Copyright (c) 2012, 2013 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
- * 
+ *
  * Contributors:
  *   Francois Chouinard - Initial API and implementation
  *******************************************************************************/
@@ -29,11 +29,12 @@ public class TracePropertyTester extends PropertyTester {
     // ------------------------------------------------------------------------
     // Constants
     // ------------------------------------------------------------------------
-    
-    private static String isInTraceFolder = "isInTraceFolder"; //$NON-NLS-1$
-    private static String isExperimentTrace = "isExperimentTrace"; //$NON-NLS-1$
-    private static String hasHistoryFile = "hasHistoryFile"; //$NON-NLS-1$
-    
+
+    private final static String IS_IN_TRACE_FOLDER = "isInTraceFolder"; //$NON-NLS-1$
+    private final static String IS_EXPERIMENT_TRACE = "isExperimentTrace"; //$NON-NLS-1$
+    private final static String HAS_SUPPLEMENTARY_FILES = "hasSupplementaryFiles"; //$NON-NLS-1$
+    private final static String TRACE_TYPE = "traceType"; //$NON-NLS-1$
+
     // ------------------------------------------------------------------------
     // Constructor
     // ------------------------------------------------------------------------
@@ -55,7 +56,7 @@ public class TracePropertyTester extends PropertyTester {
     public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
 
         // Check if the selected elements are in the trace folder
-        if (isInTraceFolder.equals(property)) {
+        if (IS_IN_TRACE_FOLDER.equals(property)) {
             if (receiver != null && receiver instanceof IStructuredSelection) {
                 Iterator<?> iter = ((IStructuredSelection) receiver).iterator();
                 while (iter.hasNext()) {
@@ -74,30 +75,40 @@ public class TracePropertyTester extends PropertyTester {
         }
 
         // Check if the parent of a trace element is an experiment
-        if (isExperimentTrace.equals(property)) {
+        if (IS_EXPERIMENT_TRACE.equals(property)) {
             if (receiver != null && receiver instanceof TmfTraceElement) {
-            TmfTraceElement trace = (TmfTraceElement) receiver;
+                TmfTraceElement trace = (TmfTraceElement) receiver;
                 return trace.getParent() instanceof TmfExperimentElement;
             }
             return false;
         }
 
-        if (hasHistoryFile.equals(property)) {
+        // Check if traces has supplementary files
+        if (HAS_SUPPLEMENTARY_FILES.equals(property)) {
             if (receiver == null) {
                 return false;
             }
 
             if (receiver instanceof TmfTraceElement) {
                 TmfTraceElement trace = (TmfTraceElement) receiver;
-                // If trace is under an experiment, use the original trace from the traces folder
-                trace = trace.getElementUnderTraceFolder();
-                return trace.hasSupplementaryFiles();
+                return trace.hasSupplementaryResources();
             } else if (receiver instanceof TmfExperimentElement) {
                 TmfExperimentElement trace = (TmfExperimentElement) receiver;
+                boolean hasHistory = false;
                 for (TmfTraceElement aTrace : trace.getTraces()) {
-                    // Since trace is under an experiment, use the original trace from the traces folder
-                    aTrace = aTrace.getElementUnderTraceFolder();
-                    return aTrace.hasSupplementaryFiles();
+                    hasHistory |= aTrace.hasSupplementaryResources();
+                }
+                return hasHistory;
+            }
+            return false;
+        }
+
+        // Check if the trace element is of a specific trace type
+        if (TRACE_TYPE.equals(property)) {
+            if (receiver != null && receiver instanceof TmfTraceElement) {
+                TmfTraceElement trace = (TmfTraceElement) receiver;
+                if (expectedValue instanceof String && expectedValue.equals(trace.getTraceType())) {
+                    return true;
                 }
             }
             return false;
This page took 0.02581 seconds and 5 git commands to generate.