public static <C, K, I, O> MapServiceTransformItem<C, K, I, O> create(MapService<C, K, I> listService, Function<I, O> fnTransformItem) { MapServiceTransformItem<C, K, I, O> result = new MapServiceTransformItem<C, K, I, O>(listService, fnTransformItem); return result; } }
public static <T> MapService<Concept, Node, T> createListServiceAcc(QueryExecutionFactory qef, MappedConcept<T> mappedConcept, boolean isLeftJoin) { Concept concept = mappedConcept.getConcept(); Query query = ConceptUtils.createQueryList(concept); // System.out.println(query); // if(true) { throw new RuntimeException("foo"); } Agg<T> agg = mappedConcept.getAggregator(); //System.out.println("Vars: " + agg.getDeclaredVars()); //Var rowId = Var.alloc("rowId"); // TODO Set up a projection using the grouping variable and the variables referenced by the aggregator Set<Var> vars = agg.getDeclaredVars(); for(Var var : vars) { query.getProject().add(var); } //query.setQueryResultStar(true); MapServiceSparqlQuery ls = new MapServiceSparqlQuery(qef, query, concept.getVar(), isLeftJoin); FunctionResultSetAggregate<T> fn = new FunctionResultSetAggregate<T>(agg); MapServiceTransformItem<Concept, Node, Table, T> result = MapServiceTransformItem.create(ls, fn); return result; }
MapServiceTransformItem<Concept, Node, Table, T> result = MapServiceTransformItem.create(ls, fn);