public RENode parse() throws SyntaxException { return parseDisjunction(); }
public RENode parse() throws SyntaxException { return parseDisjunction(); }
public RENode.Disjunction parseDisjunction() throws SyntaxException { RENode.Alternative alternative = parseAlternative(); if (alternative != null) { if (lexer.next(Kind.OR)) { RENode.Disjunction next = parseDisjunction(); return new RENode.Disjunction(alternative, next); } else { return new RENode.Disjunction(alternative); } } else { if (lexer.next(Kind.OR)) { RENode.Disjunction next = parseDisjunction(); return new RENode.Disjunction(null, next); } else { return null; } } }
ParserTester assertNotParseDisjunction() { int expectedIndex = parser.getIndex(); try { parser.parseDisjunction(); fail(); } catch (SyntaxException e) { assertEquals(expectedIndex, parser.getIndex()); } return this; }
ParserTester assertNotParseDisjunction() { int expectedIndex = parser.getIndex(); try { parser.parseDisjunction(); fail(); } catch (SyntaxException e) { assertEquals(expectedIndex, parser.getIndex()); } return this; }
public RENode.Disjunction parseDisjunction() throws SyntaxException { RENode.Alternative alternative = parseAlternative(); if (alternative != null) { if (lexer.next(Kind.OR)) { RENode.Disjunction next = parseDisjunction(); return new RENode.Disjunction(alternative, next); } else { return new RENode.Disjunction(alternative); } } else { if (lexer.next(Kind.OR)) { RENode.Disjunction next = parseDisjunction(); return new RENode.Disjunction(null, next); } else { return null; } } }
ParserTester assertParseDisjunction(String expectedValue) { try { RENode.Disjunction disjunction = parser.parseDisjunction(); assertTrue(parser.isDone()); if (expectedValue.length() == 0) { assertNull(disjunction); } else { assertNotNull(disjunction); assertEquals(expectedValue, disjunction.toString()); } return this; } catch (SyntaxException e) { throw failure(e); } }
ParserTester assertParseDisjunction(String expectedValue) { try { RENode.Disjunction disjunction = parser.parseDisjunction(); assertTrue(parser.isDone()); if (expectedValue.length() == 0) { assertNull(disjunction); } else { assertNotNull(disjunction); assertEquals(expectedValue, disjunction.toString()); } return this; } catch (SyntaxException e) { throw failure(e); } }
private void match(String pattern, String test, String expectedValue) throws Exception { REParser parser = new REParser(pattern); RouteEscaper escaper = new RouteEscaper('/', '_'); RENode.Disjunction re = parser.parseDisjunction(); re.accept(escaper); Pattern p = Pattern.compile(RERenderer.render(re, new StringBuilder()).toString()); Matcher matcher = p.matcher(test); assertTrue(matcher.find()); assertEquals(expectedValue, matcher.group()); }
private void match(String pattern, String test, String expectedValue) throws Exception { REParser parser = new REParser(pattern); CharEscapeTransformation escaper = new CharEscapeTransformation('/', '_'); RENode.Disjunction re = parser.parseDisjunction(); re.accept(escaper); Pattern p = Pattern.compile(RERenderer.render(re, new StringBuilder()).toString()); Matcher matcher = p.matcher(test); assertTrue(matcher.find()); assertEquals(expectedValue, matcher.group()); }
private void match(String pattern, String test, String expectedValue) throws Exception { REParser parser = new REParser(pattern); RouteEscaper escaper = new RouteEscaper('/', '_'); RENode.Disjunction re = parser.parseDisjunction(); re.accept(escaper); Pattern p = Pattern.compile(RERenderer.render(re, new StringBuilder()).toString()); Matcher matcher = p.matcher(test); assertTrue(matcher.find()); assertEquals(expectedValue, matcher.group()); }
private void match(String pattern, String test, String expectedValue) throws Exception { REParser parser = new REParser(pattern); CharEscapeTransformation escaper = new CharEscapeTransformation('/', '_'); RENode.Disjunction re = parser.parseDisjunction(); re.accept(escaper); Pattern p = Pattern.compile(RERenderer.render(re, new StringBuilder()).toString()); Matcher matcher = p.matcher(test); assertTrue(matcher.find()); assertEquals(expectedValue, matcher.group()); }
RENode.Disjunction routingDisjunction = parser.parseDisjunction(); if (!preservePath) { CharEscapeTransformation escaper = new CharEscapeTransformation('/', '_'); RENode.Disjunction renderingDisjunction = parser.parseDisjunction(); ValueResolverFactory factory = new ValueResolverFactory(); renderingDisjunction.accept(transformer);
private void assertAnalyse(String expectedPattern, String pattern) { try { RENode.Disjunction disjunction = new REParser(pattern).parseDisjunction(); assertEquals(expectedPattern, RERenderer.render(disjunction, new StringBuilder()).toString()); } catch (Exception e) { fail(e); } }
private void assertAnalyse(String expectedPattern, String pattern) { try { RENode.Disjunction disjunction = new REParser(pattern).parseDisjunction(); assertEquals(expectedPattern, RERenderer.render(disjunction, new StringBuilder()).toString()); } catch (Exception e) { fail(e); } }
RENode.Disjunction routingDisjunction = parser.parseDisjunction(); if (!preservePath) { CharEscapeTransformation escaper = new CharEscapeTransformation('/', '_'); RENode.Disjunction renderingDisjunction = parser.parseDisjunction(); ValueResolverFactory factory = new ValueResolverFactory(); renderingDisjunction.accept(transformer);
static RENode.Disjunction disjunction(String regexp) { try { REParser parser = new REParser(regexp); RENode.Disjunction re = parser.parseDisjunction(); assertTrue(parser.isDone()); return re; } catch (SyntaxException e) { AssertionFailedError afe = new AssertionFailedError(); afe.initCause(e); throw afe; } }
static RENode.Disjunction disjunction(String regexp) { try { REParser parser = new REParser(regexp); RENode.Disjunction re = parser.parseDisjunction(); assertTrue(parser.isDone()); return re; } catch (SyntaxException e) { AssertionFailedError afe = new AssertionFailedError(); afe.initCause(e); throw afe; } }
public RENode.Expr parseExpression() throws SyntaxException { RENode.Expr expr; if (lexer.next(Kind.BEGIN)) { expr = new RENode.Assertion.Begin(); } else if (lexer.next(Kind.END)) { expr = new RENode.Assertion.End(); } else if (lexer.next(Kind.GROUP_OPEN)) { GroupType groupType = GroupType.forPrefix(lexer.getToken()); RENode.Disjunction group = parseDisjunction(); if (lexer.next(Kind.GROUP_CLOSE)) { expr = new RENode.Group(group, groupType); } else { throw new SyntaxException("Group not closed "); } } else { expr = parseCharacter(); } if (expr != null) { Quantifier quantifier = parseQuantifier(); if (quantifier != null) { expr.setQuantifier(quantifier); } } return expr; }
public RENode.Expr parseExpression() throws SyntaxException { RENode.Expr expr; if (lexer.next(Kind.BEGIN)) { expr = new RENode.Assertion.Begin(); } else if (lexer.next(Kind.END)) { expr = new RENode.Assertion.End(); } else if (lexer.next(Kind.GROUP_OPEN)) { GroupType groupType = GroupType.forPrefix(lexer.getToken()); RENode.Disjunction group = parseDisjunction(); if (lexer.next(Kind.GROUP_CLOSE)) { expr = new RENode.Group(group, groupType); } else { throw new SyntaxException("Group not closed "); } } else { expr = parseCharacter(); } if (expr != null) { Quantifier quantifier = parseQuantifier(); if (quantifier != null) { expr.setQuantifier(quantifier); } } return expr; }