/** * Parse AND, OR and NOT nodes : * * and = '&' filterlist * or = '|' filterlist * not = '!' filter * filterlist = 1*filter * * @return */ private static ExprNode parseBranchNode( ExprNode node, String filter, Position pos ) throws ParseException { BranchNode bNode = ( BranchNode ) node; // We must have at least one filter ExprNode child = parseFilterInternal( filter, pos ); // Add the child to the node children bNode.addNode( child ); // Now, iterate recusively though all the remaining filters, if any while ( ( child = parseFilterInternal( filter, pos ) ) != null ) { // Add the child to the node children bNode.addNode( child ); } return node; }
+ leaf.getAssertionType() ); orNode.addNode( newLeaf );
branch.addNode( transformFilter( filter ) );