From 631dfd9bd1b96540ccdc5d2419f2c47a9e15253e Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Fri, 22 Jan 2010 14:26:11 +0000 Subject: added boolean literals to java & python address parser; added validation to python address usage git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@902095 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/messaging/util/AddressParser.java | 12 +++++++++++- .../src/main/java/org/apache/qpid/messaging/util/JAddr.java | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'java/common/src') diff --git a/java/common/src/main/java/org/apache/qpid/messaging/util/AddressParser.java b/java/common/src/main/java/org/apache/qpid/messaging/util/AddressParser.java index 609387deb6..7b31436ba0 100644 --- a/java/common/src/main/java/org/apache/qpid/messaging/util/AddressParser.java +++ b/java/common/src/main/java/org/apache/qpid/messaging/util/AddressParser.java @@ -47,6 +47,8 @@ public class AddressParser extends Parser private static Token.Type SLASH = lxi.define("SLASH", "/"); private static Token.Type COMMA = lxi.define("COMMA", ","); private static Token.Type NUMBER = lxi.define("NUMBER", "[+-]?[0-9]*\\.?[0-9]+"); + private static Token.Type TRUE = lxi.define("TRUE", "True"); + private static Token.Type FALSE = lxi.define("FALSE", "False"); private static Token.Type ID = lxi.define("ID", "[a-zA-Z_](?:[a-zA-Z0-9_-]*[a-zA-Z0-9_])?"); private static Token.Type STRING = lxi.define("STRING", "\"(?:[^\\\"]|\\.)*\"|'(?:[^\\']|\\.)*'"); private static Token.Type ESC = lxi.define("ESC", "\\\\[^ux]|\\\\x[0-9a-fA-F][0-9a-fA-F]|\\\\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]"); @@ -198,6 +200,14 @@ public class AddressParser extends Parser return Integer.decode(value); } } + else if (type == TRUE) + { + return true; + } + else if (type == FALSE) + { + return false; + } else { return value; @@ -315,7 +325,7 @@ public class AddressParser extends Parser Object value() { - if (matches(NUMBER, STRING, ID)) + if (matches(NUMBER, STRING, ID, TRUE, FALSE)) { return tok2obj(eat()); } diff --git a/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java b/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java index 6fc41dc0f9..63d2de21b2 100644 --- a/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java +++ b/java/common/src/main/java/org/apache/qpid/messaging/util/JAddr.java @@ -109,6 +109,10 @@ public class JAddr { return pprint_string((String) obj); } + else if (obj instanceof Boolean) + { + return ((Boolean) obj).booleanValue() ? "True" : "False"; + } else if (obj == null) { return "None"; -- cgit v1.2.1