protected Collection<RippleList> reduce(final String from) throws RippleException { Collector<RippleList> results = new Collector<>(); QueryEngine qe = getTestQueryEngine(); QueryPipe actualPipe = new QueryPipe(qe, results); actualPipe.accept(from + "\n"); actualPipe.close(); Collection<RippleList> c = results.stream().collect(Collectors.toCollection(() -> new LinkedList<>())); return c; }
protected void assertReducesTo(final String from, final String... to) throws Exception { Collector<RippleList> expected = new Collector<>(), actual = new Collector<>(); QueryEngine qe = getTestQueryEngine(); QueryPipe actualPipe = new QueryPipe(qe, actual); actualPipe.accept(from + "\n"); actualPipe.close(); QueryPipe expectedPipe = new QueryPipe(qe, expected); for (String t : to) { expectedPipe.accept(t + "\n"); } expectedPipe.close(); assertCollectorsEqual(expected, actual); }
public Object eval(final String script) throws ScriptException { results.clear(); try { queryPipe.accept(script); } catch (RippleException e) { throw new ScriptException(e); } if (0 == results.size()) { return null; } else { for (Object result : results) { RippleList l = (RippleList) result; if (!l.isNil()) { return toJavaObject(l.getFirst()); } } return null; } }