diff options
Diffstat (limited to 'qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java')
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java index d9d837a07e..9356a13153 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/DestinationStringParser.java @@ -57,15 +57,11 @@ public class DestinationStringParser public static DestSyntax getSyntaxType(String s) { - if ((BURL_STR).equals(s)) + try { - return BURL; + return Enum.valueOf(DestSyntax.class, s.toUpperCase()); } - else if ((ADDR_STR).equals(s)) - { - return ADDR; - } - else + catch (IllegalArgumentException e) { throw new IllegalArgumentException("Invalid Destination Syntax Type" + " should be one of {BURL|ADDR}"); @@ -172,6 +168,7 @@ public class DestinationStringParser node.setDeclareProps(helper.getNodeDeclareArgs()); node.setBindingProps(helper.getNodeBindings()); addr.setNode(node); + node.markReadOnly(); Link link = new Link(); link.setName(helper.getLinkName()); @@ -183,6 +180,7 @@ public class DestinationStringParser link.setBindingProps(helper.getLinkBindings()); link.setSubscribeProps(helper.getLinkSubscribeArgs()); addr.setLink(link); + link.markReadOnly(); addr.markReadOnly(); return addr; @@ -241,7 +239,13 @@ public class DestinationStringParser node.setAssertPolicy(AddressPolicy.NEVER); node.setCreatePolicy(AddressPolicy.RECEIVER); node.setDeletePolicy(AddressPolicy.NEVER); + node.markReadOnly(); + addr.setNode(node); + link.markReadOnly(); + addr.setLink(link); + + addr.markReadOnly(); return addr; } } |