/*******************************************************************************
- * Copyright (c) 2009, 2013 Ericsson
+ * Copyright (c) 2009, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.linuxtools.internal.tmf.core.component.TmfProviderManager;
-import org.eclipse.linuxtools.internal.tmf.core.request.TmfCoalescedDataRequest;
import org.eclipse.linuxtools.internal.tmf.core.request.TmfCoalescedEventRequest;
-import org.eclipse.linuxtools.tmf.core.component.ITmfDataProvider;
+import org.eclipse.linuxtools.tmf.core.component.ITmfEventProvider;
import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType;
-import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
+import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest.ExecutionType;
import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
@Before
public void setUp() {
- TmfDataRequest.reset();
+ TmfEventRequest.reset();
fRequest1 = new TmfCoalescedEventRequest(ITmfEvent.class, range1, 0, 100, ExecutionType.FOREGROUND);
fRequest2 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 100, ExecutionType.FOREGROUND);
fRequest3 = new TmfCoalescedEventRequest(ITmfEvent.class, range2, 0, 200, ExecutionType.FOREGROUND);
assertFalse("equals", fRequest2.equals(null));
}
- @Test
- public void testEqualsSuper() {
- TmfCoalescedDataRequest dataRequest1 = new TmfCoalescedDataRequest(
- fRequest1.getDataType(),
- fRequest1.getIndex(),
- fRequest1.getNbRequested(),
- ExecutionType.FOREGROUND);
- TmfCoalescedDataRequest dataRequest2 = new TmfCoalescedDataRequest(
- fRequest1.getDataType(),
- fRequest1.getIndex(),
- fRequest1.getNbRequested(),
- ExecutionType.FOREGROUND);
- TmfCoalescedDataRequest dataRequest3 = new TmfCoalescedDataRequest(
- fRequest3.getDataType(),
- fRequest3.getIndex(),
- fRequest3.getNbRequested(),
- ExecutionType.FOREGROUND);
-
- assertTrue("equals", fRequest1.equals(dataRequest2));
- assertTrue("equals", fRequest2.equals(dataRequest1));
- assertFalse("equals", fRequest1.equals(dataRequest3));
- assertFalse("equals", fRequest3.equals(dataRequest1));
- }
-
// ------------------------------------------------------------------------
// hashCode
// ------------------------------------------------------------------------
TmfEventRequest request2;
TmfEventRequest request3;
- ITmfDataProvider[] providers;
+ ITmfEventProvider[] providers;
private static class TmfTestTriggerSignal extends TmfSignal {
public final boolean forceCancel;
}
}
+ private static class TmfTestTriggerSignal2 extends TmfSignal {
+ public TmfTestTriggerSignal2(Object source) {
+ super(source);
+ }
+ }
+
@TmfSignalHandler
public void trigger(final TmfTestTriggerSignal signal) {
TmfTimeRange range = new TmfTimeRange(TmfTimestamp.BIG_BANG, TmfTimestamp.BIG_CRUNCH);
final long REQUEST_OFFSET = 1000;
- requestedEvents1 = new Vector<ITmfEvent>();
+ requestedEvents1 = new Vector<>();
request1 = new TmfEventRequest(ITmfEvent.class, range, signal.fIndex,
NB_EVENTS, ExecutionType.FOREGROUND) {
@Override
}
};
- requestedEvents2 = new Vector<ITmfEvent>();
+ requestedEvents2 = new Vector<>();
request2 = new TmfEventRequest(ITmfEvent.class, range,
signal.fIndex + REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
@Override
}
};
- requestedEvents3 = new Vector<ITmfEvent>();
+ requestedEvents3 = new Vector<>();
request3 = new TmfEventRequest(ITmfEvent.class, range,
signal.fIndex + 2 * REQUEST_OFFSET, NB_EVENTS, ExecutionType.FOREGROUND) {
@Override
providers[0].sendRequest(request3);
}
+ /**
+ * @param signal
+ * the trigger signal
+ */
+ @TmfSignalHandler
+ public void trigger(final TmfTestTriggerSignal2 signal) {
+ TmfTimeRange range = new TmfTimeRange(new TmfTimestamp(100, -3), TmfTimestamp.BIG_CRUNCH);
+ requestedEvents1 = new Vector<>();
+ request1 = new TmfEventRequest(ITmfEvent.class, range, 0, 1, ExecutionType.FOREGROUND) {
+ @Override
+ public void handleData(ITmfEvent event) {
+ super.handleData(event);
+ if (!isCompleted()) {
+ requestedEvents1.add(event);
+ }
+ }
+ };
+ providers = TmfProviderManager.getProviders(ITmfEvent.class, TmfTraceStub.class);
+ providers[0].sendRequest(request1);
+ }
+
public void runCoalescedRequest(long startIndex) throws InterruptedException {
fTrace = setupTrace(TEST_TRACE.getFullPath());
fTrace = null;
}
+ @Test
+ public void testSingleTimeRequest() throws InterruptedException {
+
+ fTrace = setupTrace(TEST_TRACE.getFullPath());
+
+ TmfSignalManager.register(this);
+ TmfTestTriggerSignal2 signal = new TmfTestTriggerSignal2(this);
+ TmfSignalManager.dispatchSignal(signal);
+
+ request1.waitForCompletion();
+
+ assertTrue("Request1: isCompleted", request1.isCompleted());
+
+ // We have to have one event processed
+ assertEquals("Request1: nbEvents", 1, requestedEvents1.size());
+
+ TmfSignalManager.deregister(this);
+ fTrace.dispose();
+ fTrace = null;
+ }
+
}