tmf.core: Introduce TmfTimestamp factory methods
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui.tests / src / org / eclipse / tracecompass / tmf / ui / tests / views / uml2sd / loader / Uml2SDSignalValidator.java
CommitLineData
73005152 1/*******************************************************************************
ed902a2b 2 * Copyright (c) 2011, 2014 Ericsson
abbdd66a 3 *
73005152
BH
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
abbdd66a 8 *
73005152
BH
9 * Contributors:
10 * Bernd Hufmann - Initial API and implementation
0fcf3b09 11 * Patrick Tasse - Support selection range
73005152 12 *******************************************************************************/
2bdf0193 13package org.eclipse.tracecompass.tmf.ui.tests.views.uml2sd.loader;
73005152 14
2bdf0193
AM
15import org.eclipse.tracecompass.tmf.core.component.TmfComponent;
16import org.eclipse.tracecompass.tmf.core.signal.TmfEndSynchSignal;
b2c971ec 17import org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal;
2bdf0193
AM
18import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
19import org.eclipse.tracecompass.tmf.core.signal.TmfStartSynchSignal;
b2c971ec
MK
20import org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal;
21import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
2bdf0193 22import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
73005152
BH
23
24/**
abbdd66a 25 * Class to implement that certain signals are sent as well as are sent with correct content.
64636df8
BH
26 *
27 * @author Bernd Hufmann
73005152
BH
28 */
29public class Uml2SDSignalValidator extends TmfComponent implements IUml2SdSignalValidator {
abbdd66a 30
73005152
BH
31 // ------------------------------------------------------------------------
32 // Attributes
33 // ------------------------------------------------------------------------
34 private int fSignalDepth = 0;
35 private boolean fIsSignalReceived = false;
36 private boolean fIsSignalError = false;
37 private boolean fIsSourceError = false;
38 private boolean fIsCurrentTimeError = false;
39 private boolean fIsRangeError = false;
40
41 private Object fSource = null;
b2c971ec 42 private ITmfTimestamp fCurrentTimestamp = null;
73005152
BH
43 private TmfTimeRange fCurrentTimeRange = null;
44
45 // ------------------------------------------------------------------------
46 // Constructor
47 // ------------------------------------------------------------------------
64636df8
BH
48 /**
49 * Constructor
50 */
73005152
BH
51 public Uml2SDSignalValidator() {
52 }
abbdd66a 53
73005152
BH
54 // ------------------------------------------------------------------------
55 // Operations
56 // ------------------------------------------------------------------------
64636df8
BH
57 /**
58 * Signal handler for time synch signal.
59 * @param signal the signal to handle.
60 */
73005152 61 @TmfSignalHandler
97c71024 62 public void synchToTime(TmfSelectionRangeUpdatedSignal signal) {
abbdd66a 63 // Set results so that it can be validated in the test case
73005152
BH
64 setSignalReceived(true);
65 setSourceError(getSource() != signal.getSource());
0fcf3b09 66 setCurrentTimeError(!getCurrentTime().equals(signal.getBeginTime()));
73005152
BH
67 }
68
64636df8 69 /**
97c71024 70 * Signal handler for window range signal.
64636df8
BH
71 * @param signal the signal to handle.
72 */
73005152 73 @TmfSignalHandler
97c71024 74 public void synchToTimeRange(TmfWindowRangeUpdatedSignal signal) {
abbdd66a 75 // Set results so that it can be validated in the test case
73005152 76 setSignalReceived(true);
f5944f9f
BH
77 if (getSource() != null) {
78 setSourceError(getSource() != signal.getSource());
79 }
f5944f9f
BH
80 if (getCurrentRange() != null) {
81 setRangeError(!getCurrentRange().equals(signal.getCurrentRange()));
82 }
73005152 83 }
abbdd66a 84
64636df8
BH
85 /**
86 * Signal handler for handling start synch signal.
87 * @param signal the signal to handle.
88 */
73005152
BH
89 @TmfSignalHandler
90 public void startSynch(TmfStartSynchSignal signal) {
91 fSignalDepth++;
abbdd66a 92 // make sure that the signal which is send by the loader class is not handled by the loader class
73005152 93 // after receiving it. i.e. it must not trigger a another signal
abbdd66a 94
73005152
BH
95 // Set results so that it can be validated in the test case
96 setSignalError(fSignalDepth > 1);
97 }
98
64636df8
BH
99 /**
100 * Signal handler for handling end synch signal.
101 * @param signal the signal to handle.
102 */
73005152
BH
103 @TmfSignalHandler
104 public void endSynch(TmfEndSynchSignal signal) {
105 fSignalDepth = fSignalDepth > 0 ? fSignalDepth - 1 : 0;
106 }
abbdd66a 107
73005152
BH
108 @Override
109 public boolean isSignalReceived() {
110 return fIsSignalReceived;
111 }
112
113 @Override
114 public void setSignalReceived(boolean received) {
115 fIsSignalReceived = received;
116 }
117
118 @Override
119 public boolean isSourceError() {
120 return fIsSourceError;
121 }
122
123 @Override
124 public void setSourceError(boolean fIsSourceError) {
125 this.fIsSourceError = fIsSourceError;
126 }
127
128 @Override
129 public boolean isCurrentTimeError() {
130 return fIsCurrentTimeError;
131 }
132
133 @Override
134 public void setCurrentTimeError(boolean fIsCurrentTimeError) {
135 this.fIsCurrentTimeError = fIsCurrentTimeError;
136 }
137
138 @Override
139 public boolean isRangeError() {
140 return fIsRangeError;
141 }
142
143 @Override
144 public void setRangeError(boolean fIsRangeError) {
145 this.fIsRangeError = fIsRangeError;
146 }
147
148 @Override
149 public boolean isSignalError() {
150 return fIsSignalError;
abbdd66a
AM
151 }
152
73005152
BH
153 @Override
154 public void setSignalError(boolean fIsSignalError) {
155 this.fIsSignalError = fIsSignalError;
156 }
157
158 @Override
159 public Object getSource() {
160 return fSource;
161 }
162
163 @Override
164 public void setSource(Object source) {
165 fSource = source;
166 }
abbdd66a 167
73005152 168 @Override
b2c971ec 169 public ITmfTimestamp getCurrentTime() {
73005152
BH
170 return fCurrentTimestamp;
171 }
172
173 @Override
b2c971ec
MK
174 public void setCurrentTime(ITmfTimestamp currentTime) {
175 fCurrentTimestamp = currentTime;
73005152
BH
176 }
177
178 @Override
179 public TmfTimeRange getCurrentRange() {
180 return fCurrentTimeRange;
181 }
182
183 @Override
184 public void setCurrentRange(TmfTimeRange currentRange) {
b8e2854f 185 fCurrentTimeRange = currentRange == null ? null : currentRange;
73005152 186 }
abbdd66a 187}
73005152 188
This page took 0.089074 seconds and 5 git commands to generate.