@Test public void testGetRequestsJoin() throws Exception { List<RequestData> datas = dao.getRequests(new Query().properties("path", "resource") .filter("path","/foo", Comparison.EQ). group("path", "resource") .sort("resource", SortOrder.ASC)); assertEquals(3, datas.size()); assertEquals("stuff", datas.get(0).getResources().get(0)); assertEquals("things", datas.get(1).getResources().get(0)); assertEquals("widgets", datas.get(2).getResources().get(0)); } @Test
@Test public void testGetRequestsJoinIN() throws Exception { List<String> resources = Arrays.asList("widgets", "things"); List<RequestData> datas = dao.getRequests(new Query().properties("resource") .aggregate("count()").filter("resource", resources, Comparison.IN) .group("resource").sort("resource", SortOrder.ASC)); assertEquals(2, datas.size()); assertEquals("things", datas.get(0).getResources().get(0)); assertEquals("widgets", datas.get(1).getResources().get(0)); }
@Test public void testGetRequestsJoinVisitor() throws Exception { final List<RequestData> datas = new ArrayList(); final List<Object> aggs = new ArrayList(); RequestDataVisitor v = new RequestDataVisitor() { public void visit(RequestData data, Object... aggregates) { datas.add(data); //aggs.addAll(Arrays.asList(aggregates)); } }; dao.getRequests(new Query().properties("path", "resource").filter("path","/foo", Comparison.EQ). group("path", "resource").sort("resource", SortOrder.ASC), v); assertEquals(3, datas.size()); assertEquals(1, datas.get(0).getResources().size()); assertEquals("stuff", datas.get(0).getResources().get(0)); assertEquals(1, datas.get(1).getResources().size()); assertEquals("things", datas.get(1).getResources().get(0)); assertEquals(1, datas.get(2).getResources().size()); assertEquals("widgets", datas.get(2).getResources().get(0)); }
@Test public void testGetRequestsJoin2() throws Exception { final List<RequestData> datas = new ArrayList(); final List<Object> aggs = new ArrayList(); dao.getRequests(new Query().properties("resource").aggregate("count()") .filter("resource", null, Comparison.NEQ).group("resource"), new RequestDataVisitor() { public void visit(RequestData data, Object... aggregates) { datas.add(data); aggs.add(aggregates[0]); } }); //assertEquals(3, datas.size()); for (RequestData data : datas) { System.out.println(data.getResources()); } }