public ElementUnion(Element el) { //Used by the SPARQL 1.1 style UNION this() ; addElement(el) ; }
public static void addUnionElements(ElementUnion out, Element e) { if(e instanceof ElementUnion) { ElementUnion u = (ElementUnion)e; for(Element m : u.getElements()) { out.addElement(m); } } else if(e instanceof ElementGroup && ((ElementGroup)e).isEmpty()) { // nothing todo } else { out.addElement(e); } }
public static Element union(Collection<Element> elements) { Element result; if(elements.size() == 1) { result = elements.iterator().next(); } else { ElementUnion e = new ElementUnion(); for(Element element : elements) { e.addElement(element); } result = e; } return result; }
@Override public Element transform(ElementUnion eltUnion, List<Element> elts) { ElementUnion el2 = new ElementUnion() ; for ( int i = 0 ; i < elts.size() ; i++ ) { Element el = elts.get(i) ; if ( ! ( el instanceof ElementGroup ) ) { ElementGroup elg = new ElementGroup() ; elg.addElement(el); el = elg ; } el2.addElement(el); } return el2 ; }
@Override public void visit(OpUnion opUnion) { Element eLeft = asElementGroup(opUnion.getLeft()) ; Element eRight = asElementGroup(opUnion.getRight()) ; if ( eLeft instanceof ElementUnion ) { ElementUnion elUnion = (ElementUnion)eLeft ; elUnion.addElement(eRight) ; return ; } // Multiple unions. // if ( eRight instanceof ElementUnion ) // { // ElementUnion elUnion = (ElementUnion)eRight ; // elUnion.getElements().add(0, eLeft) ; // return ; // } ElementUnion elUnion = new ElementUnion() ; elUnion.addElement(eLeft) ; elUnion.addElement(eRight) ; currentGroup().addElement(elUnion) ; }
@Override public void visit(OpUnion opUnion) { Element eLeft = asElementGroup(opUnion.getLeft()) ; Element eRight = asElementGroup(opUnion.getRight()) ; if ( eLeft instanceof ElementUnion ) { ElementUnion elUnion = (ElementUnion)eLeft ; elUnion.addElement(eRight) ; return ; } // if ( eRight instanceof ElementUnion ) // { // ElementUnion elUnion = (ElementUnion)eRight ; // elUnion.getElements().add(0, eLeft) ; // return ; // } ElementUnion elUnion = new ElementUnion() ; elUnion.addElement(eLeft) ; elUnion.addElement(eRight) ; currentGroup().addElement(elUnion) ; }
final public Element GroupOrUnionGraphPattern() throws ParseException { Element el = null ; ElementUnion el2 = null ; el = GroupGraphPattern(); label_10: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case UNION: ; break; default: jj_la1[33] = jj_gen; break label_10; } jj_consume_token(UNION); if ( el2 == null ) { el2 = new ElementUnion() ; el2.addElement(el) ; } el = GroupGraphPattern(); el2.addElement(el) ; } {if (true) return (el2==null)? el : el2 ;} throw new Error("Missing return statement in function"); }
final public Element GroupOrUnionGraphPattern() throws ParseException { Element el = null ; ElementUnion el2 = null ; el = GroupGraphPattern(); label_19: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case UNION: ; break; default: jj_la1[80] = jj_gen; break label_19; } jj_consume_token(UNION); if ( el2 == null ) { el2 = new ElementUnion() ; el2.addElement(el) ; } el = GroupGraphPattern(); el2.addElement(el) ; } {if (true) return (el2==null)? el : el2 ;} throw new Error("Missing return statement in function"); }
final public Element GroupOrUnionGraphPattern() throws ParseException { Element el = null ; ElementUnion el2 = null ; el = GroupGraphPattern(); label_24: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case UNION: ; break; default: jj_la1[89] = jj_gen; break label_24; } jj_consume_token(UNION); if ( el2 == null ) { el2 = new ElementUnion() ; el2.addElement(el) ; } el = GroupGraphPattern(); el2.addElement(el) ; } {if (true) return (el2==null)? el : el2 ;} throw new Error("Missing return statement in function"); }
@Override public void visit(ElementUnion el) { ElementUnion retval = new ElementUnion(); for (Element e : el.getElements()) { e.visit(this); retval.addElement(getResult()); } push(retval); }
@Override public void visit(ElementUnion el) { ElementUnion retval = new ElementUnion(); for (Element e : el.getElements()) { e.visit(this); retval.addElement(getResult()); } push(retval); }
public static Element createElement(Tables tables) { Table defaultGraphTable = tables.getDefaultGraphTable(); Table namedGraphTable = tables.getNamedGraphTable(); boolean isDefaultGraph = !defaultGraphTable.isEmpty(); boolean isNamedGraph = !namedGraphTable.isEmpty(); //boolean useUnion = ! && !defaultGraphTable.isEmpty(); Element e1 = isDefaultGraph ? createElementDefaultGraph(defaultGraphTable) : null; Element e2 = isNamedGraph ? createElementNamedGraph(namedGraphTable) : null; Element result; if(e1 != null && e2 != null) { ElementUnion tmp = new ElementUnion(); tmp.addElement(e1); tmp.addElement(e2); result = tmp; } else if(e1 != null) { result = e1; } else if(e2 != null) { result = e2; } else { result = null; } return result; }
union.addElement(clause); whereClause = union; union.addElement(subQuery.asSubQuery()); } else { prefixHandler.addPrefixes(subQuery.getPrologHandler().getPrefixes()); union.addElement(subQuery.getWhereHandler().getClause());
union.addElement(clause); whereClause = union; union.addElement(subQuery.asSubQuery()); } else { prefixHandler.addPrefixes(subQuery.getPrologHandler().getPrefixes()); union.addElement(subQuery.getWhereHandler().getClause());
union.addElement(clause); query.setQueryPattern(union); union.addElement(makeSubQuery(subQuery)); } else { PrologHandler ph = new PrologHandler(query); ph.addPrefixes(subQuery.getPrologHandler().getPrefixes()); union.addElement(subQuery.getWhereHandler().getClause());
union.addElement(clause); query.setQueryPattern(union); union.addElement(makeSubQuery(subQuery)); } else { PrologHandler ph = new PrologHandler(query); ph.addPrefixes(subQuery.getPrologHandler().getPrefixes()); union.addElement(subQuery.getWhereHandler().getClause());
} else { u = new ElementUnion(); u.addElement(a.getElement()); isInPlace = false; varMap.put(b.getTargetVar(), a.getTargetVar()); Element c = ElementUtils.createRenamedElement(b.getElement(), varMap); u.addElement(c);
u.addElement( a ); u.addElement( b ); e = u;
u.addElement( a ); u.addElement( b ); e = u;