protected int compareBranches() { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); ssiMediator.clearMatchGroups(); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal Matcher matcher = pattern.matcher(val1); if (matcher.find()) { ssiMediator.populateMatchGroups(matcher); return 0; } else { return -1; } } catch (PatternSyntaxException pse) { ssiMediator.log("Invalid expression: " + expr, pse); return 0; } } return val1.compareTo(val2); } }
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
case ExpressionTokenizer.TOKEN_STRING : if (currStringNode == null) { currStringNode = new StringNode(et.getTokenValue()); nodeStack.add(0, currStringNode); } else {
protected int compareBranches() { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal if (pattern.matcher(val1).find()) { return 0; } else { return -1; } } catch (PatternSyntaxException pse) { ssiMediator.log("Invalid expression: " + expr, pse); return 0; } } return val1.compareTo(val2); } }
protected int compareBranches() { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); ssiMediator.clearMatchGroups(); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal Matcher matcher = pattern.matcher(val1); if (matcher.find()) { ssiMediator.populateMatchGroups(matcher); return 0; } else { return -1; } } catch (PatternSyntaxException pse) { ssiMediator.log("Invalid expression: " + expr, pse); return 0; } } return val1.compareTo(val2); } }
protected int compareBranches() { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal if (pattern.matcher(val1).find()) { return 0; } else { return -1; } } catch (PatternSyntaxException pse) { ssiMediator.log("Invalid expression: " + expr, pse); return 0; } } return val1.compareTo(val2); } }
protected int compareBranches() { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal if (pattern.matcher(val1).find()) { return 0; } else { return -1; } } catch (PatternSyntaxException pse) { ssiMediator.log("Invalid expression: " + expr, pse); return 0; } } return val1.compareTo(val2); } }
/** * Returns true if the string is not empty. */ @Override public boolean evaluate() { return !(getValue().length() == 0); }