@Override public void exec(RenderTask task) throws Exception { // get the pid list RenderTask parent = ((RenderTask) task.getParentContext()); List<Object> values = parent.getResults().getFieldValues(this.pidField); // build the JDS query, Task and execute it RenderTask task2 = new RenderTask(parent, this.q); task2.setParam("pid", values); this.q.exec(task2); // now perform the intersection join this.intersectJoin(task2); }
private static void verify(RenderTask q) { assertEquals(10, q.size()); assertEquals(17, q.getResults().getFields().size()); // verify correct results for (int i = 0; i < q.size(); i++) { assertEquals("row" + i, q.getCellIdx(i, "id")); for (int j = 0; j < 5; j++) { assertEquals(i + "-" + j, q.getCellIdx(i, "1st" + j)); assertEquals(i + "-" + j, q.getCellIdx(i, "2nd" + j)); assertEquals("0-" + j, q.getCellIdx(i, "3rd" + j)); } } }
@Test public void testDataGeneratorQuery() throws Exception { DataGeneratorQuery qry = new DataGeneratorQuery("id", "col", 10, 10); RenderTask tsk = new RenderTask(vd, qry); qry.exec(tsk); // test our basic data generator query assertEquals(10, tsk.size()); assertEquals(11, tsk.getResults().getFields().size()); // sample the rows/cols diagonally assertEquals("0-0", tsk.getCellIdx(0, "col0")); assertEquals("1-1", tsk.getCellIdx(1, "col1")); assertEquals("2-2", tsk.getCellIdx(2, "col2")); assertEquals("3-3", tsk.getCellIdx(3, "col3")); assertEquals("4-4", tsk.getCellIdx(4, "col4")); assertEquals("5-5", tsk.getCellIdx(5, "col5")); assertEquals("6-6", tsk.getCellIdx(6, "col6")); assertEquals("7-7", tsk.getCellIdx(7, "col7")); assertEquals("8-8", tsk.getCellIdx(8, "col8")); assertEquals("9-9", tsk.getCellIdx(9, "col9")); }