import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.tracecompass.internal.tmf.core.Activator;
import org.eclipse.tracecompass.internal.tmf.core.analysis.TmfAnalysisModuleSourceConfigElement;
+import org.eclipse.tracecompass.tmf.core.analysis.requirements.TmfAbstractAnalysisRequirement;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.project.model.TmfTraceType;
import org.eclipse.tracecompass.tmf.core.project.model.TraceTypeHelper;
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 */
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<>();
}
@Override
- public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
+ public Iterable<TmfAbstractAnalysisRequirement> getAnalysisRequirements() {
IAnalysisModule module = createModule();
if (module != null) {
return module.getAnalysisRequirements();
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;
}