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 java
.util
.Collections
;
18 import org
.eclipse
.core
.runtime
.Platform
;
19 import org
.eclipse
.jdt
.annotation
.NonNull
;
20 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.IAnalysisModule
;
21 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.IAnalysisModuleHelper
;
22 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.TmfAnalysisRequirement
;
23 import org
.eclipse
.tracecompass
.tmf
.core
.exceptions
.TmfAnalysisException
;
24 import org
.eclipse
.tracecompass
.tmf
.core
.trace
.ITmfTrace
;
25 import org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.trace
.TmfTraceStub
;
26 import org
.eclipse
.tracecompass
.tmf
.tests
.stubs
.trace
.TmfTraceStub2
;
27 import org
.osgi
.framework
.Bundle
;
29 import com
.google
.common
.collect
.ImmutableList
;
32 * Analysis Module Helper for the stub analysis source
34 * @author Geneviève Bastien
36 public class AnalysisModuleTestHelper
implements IAnalysisModuleHelper
{
39 * Enum to select an analysis module for this stub
41 public enum moduleStubEnum
{
44 /** Test analysis 2 */
48 private moduleStubEnum fModule
;
54 * The type identifying the module for this helper
56 public AnalysisModuleTestHelper(moduleStubEnum module
) {
61 public String
getId() {
66 public String
getName() {
67 return fModule
.name();
71 public boolean isAutomatic() {
76 public boolean appliesToExperiment() {
81 public String
getHelpText() {
86 public String
getHelpText(@NonNull ITmfTrace trace
) {
91 public String
getIcon() {
96 public Bundle
getBundle() {
97 return Platform
.getBundle("org.eclipse.tracecompass.tmf.core.tests");
101 public boolean appliesToTraceType(Class
<?
extends ITmfTrace
> traceclass
) {
104 return TmfTraceStub
.class.isAssignableFrom(traceclass
);
106 return TmfTraceStub2
.class.isAssignableFrom(traceclass
);
113 public IAnalysisModule
newModule(ITmfTrace trace
) throws TmfAnalysisException
{
114 IAnalysisModule module
= null;
117 module
= new TestAnalysis();
118 module
.setName(getName());
119 module
.setId(getId());
120 module
.setAutomatic(isAutomatic());
121 if (!module
.setTrace(trace
)) {
127 module
= new TestAnalysis2();
128 module
.setName(getName());
129 module
.setId(getId());
130 module
.setAutomatic(isAutomatic());
131 if (!module
.setTrace(trace
)) {
144 public Iterable
<Class
<?
extends ITmfTrace
>> getValidTraceTypes() {
145 return ImmutableList
.<Class
<?
extends ITmfTrace
>> of(
147 TmfTraceStub2
.class);
151 public Iterable
<TmfAnalysisRequirement
> getAnalysisRequirements() {
154 return ImmutableList
.of(
155 AnalysisRequirementFactory
.REQUIREMENT_1
,
156 AnalysisRequirementFactory
.REQUIREMENT_3
);
158 return ImmutableList
.of(
159 AnalysisRequirementFactory
.REQUIREMENT_2
,
160 AnalysisRequirementFactory
.REQUIREMENT_3
);
162 return Collections
.EMPTY_SET
;