@Test public void testParseAliasAndTree() throws Exception { WikittyQueryParser parser = new WikittyQueryParser(); System.out.println("---------------------------------------------------------------"); WikittyQueryParser.parse("Select WikittyGroup.name Where WikittyGroup.name=Group*"); System.out.println("***************************************************************"); WikittyQueryParser.parse("Select WikittyGroup.name Where WikittyGroup.name=Group*"); System.out.println("---------------------------------------------------------------"); parser.addAlias("MyAlias\\((.*), (.*)\\)", "id={SELECT WikittyTreeNode.attachment" + " WHERE (rootNode={SELECT ID WHERE (WikittyTreeNode.name=$1)}" + " AND pathNode={SELECT ID WHERE (WikittyTreeNode.name=$2)})}"); WikittyQueryParser.parse("WikittyGroup.name=Group*"); WikittyQueryParser.parse("WikittyGroup.name=Group* AND id=toto"); WikittyQuery q1 = parser.parseQuery( "WikittyGroup.name=Group* AND MyAlias(OtherTree, OtherBranch)"); WikittyQuery q2 = parser.parseQuery( "WikittyGroup.name=Group* AND id={SELECT WikittyTreeNode.attachment" + " WHERE (rootNode={SELECT ID WHERE (WikittyTreeNode.name=OtherTree)}" + " AND pathNode={SELECT ID WHERE (WikittyTreeNode.name=OtherBranch)})}"); System.out.println("Q1:" + q1); System.out.println("Q2:" + q2); Assert.assertEquals(q2, q1); }
WikittyQueryParser parser = new WikittyQueryParser(); parser.addAlias("MyAlias\\((.*), (.*)\\)", "id={SELECT WikittyTreeNode.attachment"