From f3a92de78341f580d91c6ecabe1b005696d04fcd Mon Sep 17 00:00:00 2001 From: Niels Basjes Date: Tue, 21 Nov 2017 21:14:21 +0100 Subject: [PATCH] Added safeties --- .../useragent/analyze/treewalker/steps/WalkList.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/analyzer/src/main/java/nl/basjes/parse/useragent/analyze/treewalker/steps/WalkList.java b/analyzer/src/main/java/nl/basjes/parse/useragent/analyze/treewalker/steps/WalkList.java index 4c6bffd4e7..b96c9c0792 100644 --- a/analyzer/src/main/java/nl/basjes/parse/useragent/analyze/treewalker/steps/WalkList.java +++ b/analyzer/src/main/java/nl/basjes/parse/useragent/analyze/treewalker/steps/WalkList.java @@ -97,10 +97,15 @@ public class WalkList implements Serializable { public static class WalkResult { private ParseTree tree; private String value; + public WalkResult(ParseTree tree, String value) { this.tree = tree; this.value = value; +// if (value == null || tree == null ) { +// throw new IllegalStateException("An invalid WalkResult was created :" + this.toString()); +// } } + public ParseTree getTree() { return tree; } @@ -112,8 +117,8 @@ public String getValue() { @Override public String toString() { return "WalkResult{" + - "tree=" + tree.getText() + - ", value='" + value + '\'' + + "tree=" + (tree == null ? ">>>NULL<<<" : tree.getText()) + + ", value=" + (value == null ? ">>>NULL<<<" : '\'' + value + '\'') + '}'; } } @@ -142,7 +147,7 @@ public WalkList(ParserRuleContext requiredPattern, private void linkSteps() { Step nextStep = null; - for (int i = steps.size() -1; i >= 0; i--) { + for (int i = steps.size() - 1; i >= 0; i--) { Step current = steps.get(i); current.setNextStep(i, nextStep); nextStep = current; @@ -170,6 +175,7 @@ public Step getFirstStep() { } private Boolean usesIsNull = null; + public boolean usesIsNull() { if (usesIsNull != null) { return usesIsNull;