Move alltests plugin to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / stubs / org / eclipse / linuxtools / tmf / tests / stubs / analysis / AnalysisModuleTestHelper.java
CommitLineData
b3b03da0 1/*******************************************************************************
60ae41e1 2 * Copyright (c) 2013, 2014 École Polytechnique de Montréal
b3b03da0
GB
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 * Geneviève Bastien - Initial API and implementation
7076c47b 11 * Guilliano Molaire - Implementation of requirements and valid trace types getters
b3b03da0
GB
12 *******************************************************************************/
13
14package org.eclipse.linuxtools.tmf.tests.stubs.analysis;
15
63c43609
MR
16import java.util.Collections;
17
b3b03da0 18import org.eclipse.core.runtime.Platform;
54eae41f 19import org.eclipse.jdt.annotation.NonNull;
b3b03da0
GB
20import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModule;
21import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
63c43609 22import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
b3b03da0
GB
23import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
24import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
b3b03da0 25import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
4d2857be 26import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
b3b03da0
GB
27import org.osgi.framework.Bundle;
28
7076c47b
GM
29import com.google.common.collect.ImmutableList;
30
b3b03da0
GB
31/**
32 * Analysis Module Helper for the stub analysis source
33 *
34 * @author Geneviève Bastien
35 */
36public class AnalysisModuleTestHelper implements IAnalysisModuleHelper {
37
38 /**
39 * Enum to select an analysis module for this stub
40 */
41 public enum moduleStubEnum {
42 /** Test analysis */
43 TEST,
4d2857be
GB
44 /** Test analysis 2 */
45 TEST2
b3b03da0
GB
46 }
47
48 private moduleStubEnum fModule;
49
50 /**
51 * Constructor
52 *
53 * @param module
54 * The type identifying the module for this helper
55 */
56 public AnalysisModuleTestHelper(moduleStubEnum module) {
57 fModule = module;
58 }
59
60 @Override
61 public String getId() {
62 return fModule.name();
63 }
64
65 @Override
66 public String getName() {
67 return fModule.name();
68 }
69
70 @Override
71 public boolean isAutomatic() {
72 return false;
73 }
74
75 @Override
76 public String getHelpText() {
77 return "";
78 }
79
80 @Override
54eae41f
GB
81 public String getHelpText(@NonNull ITmfTrace trace) {
82 return "";
83 }
84
85 @Override
b3b03da0
GB
86 public String getIcon() {
87 return "";
88 }
89
90 @Override
91 public Bundle getBundle() {
92 return Platform.getBundle("org.eclipse.linuxtools.tmf.core.tests");
93 }
94
95 @Override
96 public boolean appliesToTraceType(Class<? extends ITmfTrace> traceclass) {
97 switch (fModule) {
98 case TEST:
99 return TmfTraceStub.class.isAssignableFrom(traceclass);
4d2857be
GB
100 case TEST2:
101 return TmfTraceStub2.class.isAssignableFrom(traceclass);
b3b03da0
GB
102 default:
103 return false;
104 }
105 }
106
107 @Override
108 public IAnalysisModule newModule(ITmfTrace trace) throws TmfAnalysisException {
109 IAnalysisModule module = null;
110 switch (fModule) {
111 case TEST:
112 module = new TestAnalysis();
113 module.setName(getName());
114 module.setId(getId());
115 module.setAutomatic(isAutomatic());
116 module.setTrace(trace);
117 break;
4d2857be
GB
118 case TEST2:
119 module = new TestAnalysis2();
b3b03da0
GB
120 module.setName(getName());
121 module.setId(getId());
122 module.setAutomatic(isAutomatic());
123 module.setTrace(trace);
124 break;
125 default:
126 break;
127
128 }
129 return module;
130 }
131
63c43609
MR
132 @Override
133 public Iterable<Class<? extends ITmfTrace>> getValidTraceTypes() {
7076c47b
GM
134 return ImmutableList.<Class<? extends ITmfTrace>> of(
135 TmfTraceStub.class,
136 TmfTraceStub2.class);
63c43609
MR
137 }
138
139 @Override
140 public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
7076c47b
GM
141 switch (fModule) {
142 case TEST:
143 return ImmutableList.of(
144 AnalysisRequirementFactory.REQUIREMENT_1,
145 AnalysisRequirementFactory.REQUIREMENT_3);
146 case TEST2:
147 return ImmutableList.of(
148 AnalysisRequirementFactory.REQUIREMENT_2,
149 AnalysisRequirementFactory.REQUIREMENT_3);
150 default:
151 return Collections.EMPTY_SET;
152 }
63c43609 153 }
b3b03da0 154}
This page took 0.044827 seconds and 5 git commands to generate.