tmf: bug 493661 Return analyses who apply to experiment
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / analysis / TmfAnalysisModuleHelperConfigElement.java
index 9a710a5bff3aa8c959897c76451360b535771aac..8cce5b15b9f8b093d45ad3dd60f5ce4345b29866 100644 (file)
@@ -107,8 +107,7 @@ public class TmfAnalysisModuleHelperConfigElement implements IAnalysisModuleHelp
         return ContributorFactoryOSGi.resolve(fCe.getContributor());
     }
 
-    @Override
-    public boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass) {
+    private boolean appliesToTraceClass(Class<? extends ITmfTrace> traceclass) {
         boolean applies = false;
 
         /* Get the module's applying tracetypes */
@@ -140,6 +139,17 @@ public class TmfAnalysisModuleHelperConfigElement implements IAnalysisModuleHelp
         return applies;
     }
 
+    @Override
+    public boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass) {
+        boolean applies = appliesToTraceClass(traceclass);
+
+        /* Check if it applies to an experiment */
+        if (!applies && TmfExperiment.class.isAssignableFrom(traceclass)) {
+            applies = appliesToExperiment();
+        }
+        return applies;
+    }
+
     @Override
     public Iterable<Class<? extends ITmfTrace>> getValidTraceTypes() {
         Set<Class<? extends ITmfTrace>> traceTypes = new HashSet<>();
@@ -183,14 +193,14 @@ public class TmfAnalysisModuleHelperConfigElement implements IAnalysisModuleHelp
     public IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException {
 
         /* Check if it applies to trace itself */
-        boolean applies = appliesToTraceType(trace.getClass());
+        boolean applies = appliesToTraceClass(trace.getClass());
         /*
          * If the trace is an experiment, check if this module would apply to an
          * experiment should it apply to one of its traces.
          */
         if (!applies && (trace instanceof TmfExperiment) && appliesToExperiment()) {
             for (ITmfTrace expTrace : TmfTraceManager.getTraceSet(trace)) {
-                if (appliesToTraceType(expTrace.getClass())) {
+                if (appliesToTraceClass(expTrace.getClass())) {
                     applies = true;
                     break;
                 }
This page took 0.029582 seconds and 5 git commands to generate.