1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 École Polytechnique de Montréal
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
10 * Geneviève Bastien - Initial API and implementation
11 * Guilliano Molaire - Implementation of requirements and valid trace types getters
12 *******************************************************************************/
14 package org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.analysis
;
16 import static org
.eclipse
.tracecompass
.common
.core
.NonNullUtils
.checkNotNull
;
18 import java
.util
.Collections
;
20 import org
.eclipse
.core
.runtime
.Platform
;
21 import org
.eclipse
.jdt
.annotation
.NonNull
;
22 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.IAnalysisModule
;
23 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.IAnalysisModuleHelper
;
24 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.TmfAnalysisRequirement
;
25 import org
.eclipse
.tracecompass
.tmf
.core
.exceptions
.TmfAnalysisException
;
26 import org
.eclipse
.tracecompass
.tmf
.core
.trace
.ITmfTrace
;
27 import org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.trace
.TmfTraceStub
;
28 import org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.trace
.TmfTraceStub2
;
29 import org
.osgi
.framework
.Bundle
;
31 import com
.google
.common
.collect
.ImmutableList
;
34 * Analysis Module Helper for the stub analysis source
36 * @author Geneviève Bastien
38 public class AnalysisModuleTestHelper
implements IAnalysisModuleHelper
{
41 * Enum to select an analysis module for this stub
43 public enum moduleStubEnum
{
46 /** Test analysis 2 */
50 private moduleStubEnum fModule
;
56 * The type identifying the module for this helper
58 public AnalysisModuleTestHelper(moduleStubEnum module
) {
63 public String
getId() {
68 public String
getName() {
69 return checkNotNull(fModule
.name());
73 public boolean isAutomatic() {
78 public boolean appliesToExperiment() {
83 public String
getHelpText() {
88 public String
getHelpText(@NonNull ITmfTrace trace
) {
93 public String
getIcon() {
98 public Bundle
getBundle() {
99 return Platform
.getBundle("org.eclipse.tracecompass.tmf.core.tests");
103 public boolean appliesToTraceType(Class
<?
extends ITmfTrace
> traceclass
) {
106 return TmfTraceStub
.class.isAssignableFrom(traceclass
);
108 return TmfTraceStub2
.class.isAssignableFrom(traceclass
);
115 public IAnalysisModule
newModule(ITmfTrace trace
) throws TmfAnalysisException
{
116 IAnalysisModule module
= null;
119 module
= new TestAnalysis();
120 module
.setName(getName());
121 module
.setId(getId());
122 module
.setAutomatic(isAutomatic());
123 if (!module
.setTrace(trace
)) {
129 module
= new TestAnalysis2();
130 module
.setName(getName());
131 module
.setId(getId());
132 module
.setAutomatic(isAutomatic());
133 if (!module
.setTrace(trace
)) {
146 public Iterable
<Class
<?
extends ITmfTrace
>> getValidTraceTypes() {
147 return ImmutableList
.<Class
<?
extends ITmfTrace
>> of(
149 TmfTraceStub2
.class);
153 public Iterable
<TmfAnalysisRequirement
> getAnalysisRequirements() {
156 return ImmutableList
.of(
157 AnalysisRequirementFactory
.REQUIREMENT_1
,
158 AnalysisRequirementFactory
.REQUIREMENT_3
);
160 return ImmutableList
.of(
161 AnalysisRequirementFactory
.REQUIREMENT_2
,
162 AnalysisRequirementFactory
.REQUIREMENT_3
);
164 return Collections
.EMPTY_SET
;