requirements: Clean up the API of TmfAnalysisRequirement
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core.tests / stubs / org / eclipse / tracecompass / tmf / tests / stubs / analysis / TestRequirementAnalysis.java
CommitLineData
8c736b3c
MR
1/*******************************************************************************
2 * Copyright (c) 2014 École Polytechnique de Montréal
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Mathieu Rail - Initial API and implementation
11 *******************************************************************************/
12
2bdf0193 13package org.eclipse.tracecompass.tmf.tests.stubs.analysis;
8c736b3c 14
66ee355d 15import java.util.Set;
8c736b3c
MR
16
17import org.eclipse.core.runtime.IProgressMonitor;
66ee355d 18import org.eclipse.jdt.annotation.NonNull;
2bdf0193 19import org.eclipse.tracecompass.tmf.core.analysis.TmfAbstractAnalysisModule;
ca0f94c4 20import org.eclipse.tracecompass.tmf.core.analysis.requirements.TmfAnalysisRequirement;
2bdf0193
AM
21import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
22import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
23import org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub;
8c736b3c 24
66ee355d
GB
25import com.google.common.collect.ImmutableSet;
26
8c736b3c
MR
27/**
28 * Analysis type to test requirements acquisition
29 */
30@SuppressWarnings({ "javadoc", "nls" })
31public class TestRequirementAnalysis extends TmfAbstractAnalysisModule {
32 /* Test requirement types */
66ee355d
GB
33 public static final @NonNull String EVENT_TYPE = "event";
34 public static final @NonNull String FIELD_TYPE = "field";
8c736b3c
MR
35
36 /* A few event names */
66ee355d
GB
37 public static final @NonNull String EXIT_SYSCALL = "exit_syscall";
38 public static final @NonNull String SCHED_SWITCH = "sched_switch";
39 public static final @NonNull String SCHED_WAKEUP = "sched_wakeup";
8c736b3c
MR
40
41 /* A few fields */
66ee355d
GB
42 public static final @NonNull String PID = "pid";
43 public static final @NonNull String TID = "tid";
8c736b3c
MR
44
45 @Override
46 public boolean canExecute(ITmfTrace trace) {
47 /* This just makes sure the trace is a ctf stub trace */
48 return (TmfTraceStub.class.isAssignableFrom(trace.getClass()));
49 }
50
51 @Override
52 protected void canceling() {
53
54 }
55
56 @Override
57 protected boolean executeAnalysis(final IProgressMonitor monitor) {
58 return true;
59 }
60
61 @Override
f479550c
GB
62 public boolean setTrace(ITmfTrace trace) throws TmfAnalysisException {
63 return super.setTrace(trace);
8c736b3c
MR
64 }
65
66 @Override
67 public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
66ee355d
GB
68 Set<TmfAnalysisRequirement> requirements = ImmutableSet.of(
69 AnalysisRequirementFactory.REQUIREMENT_1,
70 AnalysisRequirementFactory.REQUIREMENT_3);
8c736b3c 71
66ee355d 72 return requirements;
8c736b3c
MR
73 }
74}
This page took 0.06544 seconds and 5 git commands to generate.