|
Lines 25-39
Link Here
|
| 25 |
import org.eclipse.linuxtools.tmf.component.ITmfDataProvider; |
25 |
import org.eclipse.linuxtools.tmf.component.ITmfDataProvider; |
| 26 |
import org.eclipse.linuxtools.tmf.component.TmfProviderManager; |
26 |
import org.eclipse.linuxtools.tmf.component.TmfProviderManager; |
| 27 |
import org.eclipse.linuxtools.tmf.event.TmfEvent; |
27 |
import org.eclipse.linuxtools.tmf.event.TmfEvent; |
| 28 |
import org.eclipse.linuxtools.tmf.event.TmfEventReference; |
|
|
| 29 |
import org.eclipse.linuxtools.tmf.event.TmfEventSource; |
| 30 |
import org.eclipse.linuxtools.tmf.event.TmfEventType; |
| 31 |
import org.eclipse.linuxtools.tmf.event.TmfTimeRange; |
28 |
import org.eclipse.linuxtools.tmf.event.TmfTimeRange; |
| 32 |
import org.eclipse.linuxtools.tmf.event.TmfTimestamp; |
29 |
import org.eclipse.linuxtools.tmf.event.TmfTimestamp; |
| 33 |
import org.eclipse.linuxtools.tmf.request.TmfCoalescedDataRequest; |
30 |
import org.eclipse.linuxtools.tmf.request.TmfCoalescedDataRequest; |
| 34 |
import org.eclipse.linuxtools.tmf.request.TmfCoalescedEventRequest; |
31 |
import org.eclipse.linuxtools.tmf.request.TmfCoalescedEventRequest; |
| 35 |
import org.eclipse.linuxtools.tmf.request.TmfDataRequest; |
|
|
| 36 |
import org.eclipse.linuxtools.tmf.request.TmfDataRequestStub; |
| 37 |
import org.eclipse.linuxtools.tmf.request.TmfEventRequest; |
32 |
import org.eclipse.linuxtools.tmf.request.TmfEventRequest; |
| 38 |
import org.eclipse.linuxtools.tmf.request.TmfEventRequestStub; |
33 |
import org.eclipse.linuxtools.tmf.request.TmfEventRequestStub; |
| 39 |
import org.eclipse.linuxtools.tmf.signal.TmfSignal; |
34 |
import org.eclipse.linuxtools.tmf.signal.TmfSignal; |
|
Lines 133-139
Link Here
|
| 133 |
|
128 |
|
| 134 |
assertEquals("getRange", range1, request.getRange()); |
129 |
assertEquals("getRange", range1, request.getRange()); |
| 135 |
assertEquals("getNbRequestedEvents", TmfEventRequest.ALL_DATA, request.getNbRequested()); |
130 |
assertEquals("getNbRequestedEvents", TmfEventRequest.ALL_DATA, request.getNbRequested()); |
| 136 |
assertEquals("getBlockize", TmfEventRequest.DEFAULT_BLOCK_SIZE, request.getBlockize()); |
|
|
| 137 |
|
131 |
|
| 138 |
assertFalse("isCompleted", request.isCompleted()); |
132 |
assertFalse("isCompleted", request.isCompleted()); |
| 139 |
assertFalse("isFailed", request.isFailed()); |
133 |
assertFalse("isFailed", request.isFailed()); |
|
Lines 150-156
Link Here
|
| 150 |
|
144 |
|
| 151 |
assertEquals("getRange", range1, request.getRange()); |
145 |
assertEquals("getRange", range1, request.getRange()); |
| 152 |
assertEquals("getNbRequestedEvents", TmfEventRequest.ALL_DATA, request.getNbRequested()); |
146 |
assertEquals("getNbRequestedEvents", TmfEventRequest.ALL_DATA, request.getNbRequested()); |
| 153 |
assertEquals("getBlockize", TmfEventRequest.DEFAULT_BLOCK_SIZE, request.getBlockize()); |
|
|
| 154 |
|
147 |
|
| 155 |
assertFalse("isCompleted", request.isCompleted()); |
148 |
assertFalse("isCompleted", request.isCompleted()); |
| 156 |
assertFalse("isFailed", request.isFailed()); |
149 |
assertFalse("isFailed", request.isFailed()); |
|
Lines 167-173
Link Here
|
| 167 |
|
160 |
|
| 168 |
assertEquals("getRange", range1, request.getRange()); |
161 |
assertEquals("getRange", range1, request.getRange()); |
| 169 |
assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
162 |
assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
| 170 |
assertEquals("getBlockize", TmfEventRequest.DEFAULT_BLOCK_SIZE, request.getBlockize()); |
|
|
| 171 |
|
163 |
|
| 172 |
assertFalse("isCompleted", request.isCompleted()); |
164 |
assertFalse("isCompleted", request.isCompleted()); |
| 173 |
assertFalse("isFailed", request.isFailed()); |
165 |
assertFalse("isFailed", request.isFailed()); |
|
Lines 184-190
Link Here
|
| 184 |
|
176 |
|
| 185 |
assertEquals("getRange", range1, request.getRange()); |
177 |
assertEquals("getRange", range1, request.getRange()); |
| 186 |
assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
178 |
assertEquals("getNbRequestedEvents", 100, request.getNbRequested()); |
| 187 |
assertEquals("getBlockize", 200, request.getBlockize()); |
|
|
| 188 |
|
179 |
|
| 189 |
assertFalse("isCompleted", request.isCompleted()); |
180 |
assertFalse("isCompleted", request.isCompleted()); |
| 190 |
assertFalse("isFailed", request.isFailed()); |
181 |
assertFalse("isFailed", request.isFailed()); |
|
Lines 228-238
Link Here
|
| 228 |
|
219 |
|
| 229 |
public void testEqualsSuper() throws Exception { |
220 |
public void testEqualsSuper() throws Exception { |
| 230 |
TmfCoalescedDataRequest<TmfEvent> dataRequest1 = new TmfCoalescedDataRequest<TmfEvent>( |
221 |
TmfCoalescedDataRequest<TmfEvent> dataRequest1 = new TmfCoalescedDataRequest<TmfEvent>( |
| 231 |
fRequest1.getDataType(), fRequest1.getIndex(), fRequest1.getNbRequested(), fRequest1.getBlockize()); |
222 |
fRequest1.getDataType(), fRequest1.getIndex(), fRequest1.getNbRequested()); |
| 232 |
TmfCoalescedDataRequest<TmfEvent> dataRequest2 = new TmfCoalescedDataRequest<TmfEvent>( |
223 |
TmfCoalescedDataRequest<TmfEvent> dataRequest2 = new TmfCoalescedDataRequest<TmfEvent>( |
| 233 |
fRequest1.getDataType(), fRequest1.getIndex(), fRequest1.getNbRequested(), fRequest1.getBlockize()); |
224 |
fRequest1.getDataType(), fRequest1.getIndex(), fRequest1.getNbRequested()); |
| 234 |
TmfCoalescedDataRequest<TmfEvent> dataRequest3 = new TmfCoalescedDataRequest<TmfEvent>( |
225 |
TmfCoalescedDataRequest<TmfEvent> dataRequest3 = new TmfCoalescedDataRequest<TmfEvent>( |
| 235 |
fRequest3.getDataType(), fRequest3.getIndex(), fRequest3.getNbRequested(), fRequest3.getBlockize()); |
226 |
fRequest3.getDataType(), fRequest3.getIndex(), fRequest3.getNbRequested()); |
| 236 |
|
227 |
|
| 237 |
assertTrue("equals", fRequest1.equals(dataRequest2)); |
228 |
assertTrue("equals", fRequest1.equals(dataRequest2)); |
| 238 |
assertTrue("equals", fRequest2.equals(dataRequest1)); |
229 |
assertTrue("equals", fRequest2.equals(dataRequest1)); |
|
Lines 255-264
Link Here
|
| 255 |
// ------------------------------------------------------------------------ |
246 |
// ------------------------------------------------------------------------ |
| 256 |
|
247 |
|
| 257 |
public void testToString() { |
248 |
public void testToString() { |
| 258 |
String expected1 = "[TmfCoalescedEventRequest(0,TmfEvent," + range1 + ",100,200)]"; |
249 |
String expected1 = "[TmfCoalescedEventRequest(0,TmfEvent," + range1 + ",100)]"; |
| 259 |
String expected2 = "[TmfCoalescedEventRequest(1,TmfEvent," + range2 + ",100,200)]"; |
250 |
String expected2 = "[TmfCoalescedEventRequest(1,TmfEvent," + range2 + ",100)]"; |
| 260 |
String expected3 = "[TmfCoalescedEventRequest(2,TmfEvent," + range2 + ",200,200)]"; |
251 |
String expected3 = "[TmfCoalescedEventRequest(2,TmfEvent," + range2 + ",200)]"; |
| 261 |
String expected4 = "[TmfCoalescedEventRequest(3,TmfEvent," + range2 + ",200,300)]"; |
252 |
String expected4 = "[TmfCoalescedEventRequest(3,TmfEvent," + range2 + ",200)]"; |
| 262 |
|
253 |
|
| 263 |
assertEquals("toString", expected1, fRequest1.toString()); |
254 |
assertEquals("toString", expected1, fRequest1.toString()); |
| 264 |
assertEquals("toString", expected2, fRequest2.toString()); |
255 |
assertEquals("toString", expected2, fRequest2.toString()); |
|
Lines 275-336
Link Here
|
| 275 |
TmfEventRequest<TmfEvent> request1 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 100, 200); |
266 |
TmfEventRequest<TmfEvent> request1 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 100, 200); |
| 276 |
TmfEventRequest<TmfEvent> request2 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range2, 100, 200); |
267 |
TmfEventRequest<TmfEvent> request2 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range2, 100, 200); |
| 277 |
TmfEventRequest<TmfEvent> request3 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 101, 200); |
268 |
TmfEventRequest<TmfEvent> request3 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 101, 200); |
| 278 |
TmfEventRequest<TmfEvent> request4 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 100, 201); |
|
|
| 279 |
TmfDataRequest<TmfEvent> request5 = new TmfDataRequestStub<TmfEvent> (TmfEvent.class, 10, 100, 201); |
| 280 |
|
269 |
|
| 281 |
assertTrue ("isCompatible", coalescedRequest.isCompatible(request1)); |
270 |
assertTrue ("isCompatible", coalescedRequest.isCompatible(request1)); |
| 282 |
assertTrue ("isCompatible", coalescedRequest.isCompatible(request2)); |
271 |
assertTrue ("isCompatible", coalescedRequest.isCompatible(request2)); |
| 283 |
assertFalse("isCompatible", coalescedRequest.isCompatible(request3)); |
272 |
assertFalse("isCompatible", coalescedRequest.isCompatible(request3)); |
| 284 |
assertFalse("isCompatible", coalescedRequest.isCompatible(request4)); |
|
|
| 285 |
assertFalse("isCompatible", coalescedRequest.isCompatible(request5)); |
| 286 |
} |
| 287 |
|
| 288 |
// ------------------------------------------------------------------------ |
| 289 |
// setData/getData |
| 290 |
// ------------------------------------------------------------------------ |
| 291 |
|
| 292 |
public void testSetData() { |
| 293 |
|
| 294 |
TmfCoalescedEventRequest<TmfEvent> coalescedRequest = new TmfCoalescedEventRequest<TmfEvent>(TmfEvent.class, range1, 100, 200); |
| 295 |
TmfEventRequest<TmfEvent> request1 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 100, 200); |
| 296 |
TmfEventRequest<TmfEvent> request2 = new TmfEventRequestStub<TmfEvent>(TmfEvent.class, range1, 100, 200); |
| 297 |
coalescedRequest.addRequest(request1); |
| 298 |
coalescedRequest.addRequest(request2); |
| 299 |
|
| 300 |
// Initialize the data |
| 301 |
int nbEvents = 10; |
| 302 |
TmfEvent[] events = new TmfEvent[nbEvents]; |
| 303 |
for (int i = 0; i < nbEvents; i++) { |
| 304 |
events[i] = new TmfEvent(new TmfTimestamp(i), new TmfEventSource(), |
| 305 |
new TmfEventType(), new TmfEventReference()); |
| 306 |
} |
| 307 |
|
| 308 |
coalescedRequest.setData(events); |
| 309 |
coalescedRequest.handleData(); |
| 310 |
|
| 311 |
// Validate the coalescing request |
| 312 |
assertEquals("setData", nbEvents, coalescedRequest.getNbRead()); |
| 313 |
TmfEvent[] eventsRead1 = coalescedRequest.getData(); |
| 314 |
assertEquals("getData", nbEvents, eventsRead1.length); |
| 315 |
for (int i = 0; i < nbEvents; i++) { |
| 316 |
assertEquals("getData", i, eventsRead1[i].getTimestamp().getValue()); |
| 317 |
} |
| 318 |
|
| 319 |
// Validate the first coalesced request |
| 320 |
assertEquals("setData", nbEvents, request1.getNbRead()); |
| 321 |
TmfEvent[] eventsRead2 = request1.getData(); |
| 322 |
assertEquals("getData", nbEvents, eventsRead2.length); |
| 323 |
for (int i = 0; i < nbEvents; i++) { |
| 324 |
assertEquals("getData", i, eventsRead2[i].getTimestamp().getValue()); |
| 325 |
} |
| 326 |
|
| 327 |
// Validate the second coalesced request |
| 328 |
assertEquals("setData", nbEvents, request2.getNbRead()); |
| 329 |
TmfEvent[] eventsRead3 = request2.getData(); |
| 330 |
assertEquals("getData", nbEvents, eventsRead3.length); |
| 331 |
for (int i = 0; i < nbEvents; i++) { |
| 332 |
assertEquals("getData", i, eventsRead3[i].getTimestamp().getValue()); |
| 333 |
} |
| 334 |
} |
273 |
} |
| 335 |
|
274 |
|
| 336 |
// ------------------------------------------------------------------------ |
275 |
// ------------------------------------------------------------------------ |
|
Lines 499-512
Link Here
|
| 499 |
|
438 |
|
| 500 |
requestedEvents1 = new Vector<TmfEvent>(); |
439 |
requestedEvents1 = new Vector<TmfEvent>(); |
| 501 |
request1 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
440 |
request1 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
|
|
441 |
int nbRead = 0; |
| 502 |
@Override |
442 |
@Override |
| 503 |
public void handleData() { |
443 |
public void handleData(TmfEvent event) { |
|
|
444 |
super.handleData(event); |
| 504 |
if (!isCompleted()) { |
445 |
if (!isCompleted()) { |
| 505 |
TmfEvent[] events = getData(); |
446 |
requestedEvents1.add(event); |
| 506 |
for (TmfEvent e : events) { |
447 |
if (++nbRead >= BLOCK_SIZE && signal.forceCancel) |
| 507 |
requestedEvents1.add(e); |
|
|
| 508 |
} |
| 509 |
if (signal.forceCancel) |
| 510 |
cancel(); |
448 |
cancel(); |
| 511 |
} |
449 |
} |
| 512 |
} |
450 |
} |
|
Lines 515-526
Link Here
|
| 515 |
requestedEvents2 = new Vector<TmfEvent>(); |
453 |
requestedEvents2 = new Vector<TmfEvent>(); |
| 516 |
request2 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
454 |
request2 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
| 517 |
@Override |
455 |
@Override |
| 518 |
public void handleData() { |
456 |
public void handleData(TmfEvent event) { |
|
|
457 |
super.handleData(event); |
| 519 |
if (!isCompleted()) { |
458 |
if (!isCompleted()) { |
| 520 |
TmfEvent[] events = getData(); |
459 |
requestedEvents2.add(event); |
| 521 |
for (TmfEvent e : events) { |
|
|
| 522 |
requestedEvents2.add(e); |
| 523 |
} |
| 524 |
} |
460 |
} |
| 525 |
} |
461 |
} |
| 526 |
}; |
462 |
}; |
|
Lines 528-539
Link Here
|
| 528 |
requestedEvents3 = new Vector<TmfEvent>(); |
464 |
requestedEvents3 = new Vector<TmfEvent>(); |
| 529 |
request3 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
465 |
request3 = new TmfEventRequest<TmfEvent>(TmfEvent.class, range, NB_EVENTS, BLOCK_SIZE) { |
| 530 |
@Override |
466 |
@Override |
| 531 |
public void handleData() { |
467 |
public void handleData(TmfEvent event) { |
|
|
468 |
super.handleData(event); |
| 532 |
if (!isCompleted()) { |
469 |
if (!isCompleted()) { |
| 533 |
TmfEvent[] events = getData(); |
470 |
requestedEvents3.add(event); |
| 534 |
for (TmfEvent e : events) { |
|
|
| 535 |
requestedEvents3.add(e); |
| 536 |
} |
| 537 |
} |
471 |
} |
| 538 |
} |
472 |
} |
| 539 |
}; |
473 |
}; |