use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.
the class WEQueryQueueManagerTest method testExpirationReadAll.
@Test
public void testExpirationReadAll() {
final int numQueries = 3;
WindowEndQueueManager<Query, Void> wqqm = new WindowEndQueueManager<>();
wqqm.setup(null);
wqqm.beginWindow(0);
for (int qc = 0; qc < numQueries; qc++) {
Query query = new MockQuery(Integer.toString(qc));
wqqm.enqueue(query, null, new MutableLong(2L));
}
wqqm.endWindow();
wqqm.beginWindow(1);
{
int qc = 0;
for (QueryBundle<Query, Void, MutableLong> qb; (qb = wqqm.dequeue()) != null; qc++) {
Query query = qb.getQuery();
Assert.assertEquals("Query ids must equal.", Integer.toString(qc), query.getId());
}
Assert.assertEquals("The number of queries must match.", numQueries, qc);
}
wqqm.endWindow();
wqqm.beginWindow(2);
Assert.assertEquals("There should be no queries now", null, wqqm.dequeue());
wqqm.endWindow();
wqqm.teardown();
}
use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.
the class WEQueryQueueManagerTest method testSimpleAddRemove2.
@Test
public void testSimpleAddRemove2() {
WindowEndQueueManager<Query, Void> wqqm = new WindowEndQueueManager<>();
wqqm.setup(null);
wqqm.beginWindow(0);
Query query = new MockQuery("1");
wqqm.enqueue(query, null, new MutableLong(1L));
Query queryD = wqqm.dequeue().getQuery();
QueryBundle<Query, Void, MutableLong> qb = wqqm.dequeue();
Query queryD1 = qb == null ? null : qb.getQuery();
Query query1 = new MockQuery("2");
wqqm.enqueue(query1, null, new MutableLong(1L));
Query query1D = wqqm.dequeue().getQuery();
qb = wqqm.dequeue();
Query query1D1 = qb == null ? null : qb.getQuery();
wqqm.endWindow();
wqqm.teardown();
Assert.assertEquals("The queries must match.", query, queryD);
Assert.assertEquals("The queries must match.", null, queryD1);
Assert.assertEquals("The queries must match.", query1, query1D);
Assert.assertEquals("The queries must match.", null, query1D1);
}
use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.
the class SimpleDoneQueryQueueManagerTest method resetPermitsTest.
@Test
public void resetPermitsTest() throws Exception {
SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
sdqqm.setup(null);
sdqqm.beginWindow(0);
Query query = new MockQuery("1");
sdqqm.enqueue(query, null, new MutableBoolean(false));
Assert.assertEquals(1, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeueBlock();
Assert.assertEquals(0, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
sdqqm.endWindow();
sdqqm.beginWindow(1);
Assert.assertEquals(1, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
qb = sdqqm.dequeueBlock();
Assert.assertEquals(0, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
testBlocking(sdqqm);
sdqqm.endWindow();
}
use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.
the class SimpleDoneQueryQueueManagerTest method firstDoneTest.
@Test
public void firstDoneTest() {
SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
sdqqm.setup(null);
sdqqm.beginWindow(0);
Query query = new MockQuery("1");
sdqqm.enqueue(query, null, new MutableBoolean(true));
QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeue();
Assert.assertEquals("Should return back null.", null, qb);
sdqqm.endWindow();
sdqqm.beginWindow(1);
qb = sdqqm.dequeue();
Assert.assertEquals("Should return back null.", null, qb);
qb = sdqqm.dequeue();
Assert.assertEquals("Should return back null.", null, qb);
sdqqm.endWindow();
sdqqm.teardown();
}
use of org.apache.apex.malhar.lib.appdata.schemas.Query in project apex-malhar by apache.
the class SimpleDoneQueryQueueManagerTest method expiredTestBlockingExpiredFirstValidLast.
@Test
public void expiredTestBlockingExpiredFirstValidLast() throws Exception {
SimpleDoneQueueManager<Query, Void> sdqqm = new SimpleDoneQueueManager<Query, Void>();
sdqqm.setup(null);
sdqqm.beginWindow(0);
Query query = new MockQuery("1");
MutableBoolean queueContext = new MutableBoolean(false);
sdqqm.enqueue(query, null, queueContext);
Query query1 = new MockQuery("2");
MutableBoolean queueContext1 = new MutableBoolean(false);
sdqqm.enqueue(query1, null, queueContext1);
Assert.assertEquals(2, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
QueryBundle<Query, Void, MutableBoolean> qb = sdqqm.dequeueBlock();
Assert.assertEquals(1, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
sdqqm.endWindow();
sdqqm.beginWindow(1);
Assert.assertEquals(2, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
queueContext.setValue(true);
qb = sdqqm.dequeueBlock();
Assert.assertEquals(0, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
testBlocking(sdqqm);
sdqqm.endWindow();
sdqqm.beginWindow(2);
Assert.assertEquals(1, sdqqm.getNumLeft());
Assert.assertEquals(sdqqm.getNumPermits(), sdqqm.getNumLeft());
qb = sdqqm.dequeueBlock();
testBlocking(sdqqm);
sdqqm.endWindow();
sdqqm.teardown();
}
Aggregations