From 4dcd13bb84c95a17741d2956dd5b1f9edc065aa0 Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Thu, 2 Sep 2010 19:08:08 +0000 Subject: QPID-2845 Added code to recognize an arguments map within the x-bindings section. Removed validation of the arguments specified in the above map. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@992059 13f79535-47bb-0310-9956-ffa450edef68 --- .../client/messaging/address/AddressHelper.java | 72 ++-------------------- .../apache/qpid/client/messaging/address/Node.java | 38 ++++-------- 2 files changed, 18 insertions(+), 92 deletions(-) (limited to 'java/client/src') diff --git a/java/client/src/main/java/org/apache/qpid/client/messaging/address/AddressHelper.java b/java/client/src/main/java/org/apache/qpid/client/messaging/address/AddressHelper.java index f4e8fa8d2f..0aa2257126 100644 --- a/java/client/src/main/java/org/apache/qpid/client/messaging/address/AddressHelper.java +++ b/java/client/src/main/java/org/apache/qpid/client/messaging/address/AddressHelper.java @@ -122,69 +122,6 @@ public class AddressHelper return mode != null && mode.equals(BROWSE) ? true : false; } - public QpidQueueOptions getQpidQueueOptions(MapAccessor args) - { - QpidQueueOptions options = new QpidQueueOptions(); - if (args.getInt(QpidQueueOptions.QPID_MAX_COUNT) != null) - { - options.setMaxCount(args.getInt(QpidQueueOptions.QPID_MAX_COUNT)); - } - - if (args.getInt(QpidQueueOptions.QPID_MAX_SIZE) != null) - { - options.setMaxSize(args.getInt(QpidQueueOptions.QPID_MAX_SIZE)); - } - - if (args.getString(QpidQueueOptions.QPID_POLICY_TYPE) != null) - { - options.setPolicyType(args - .getString(QpidQueueOptions.QPID_POLICY_TYPE)); - } - - if (args.getInt(QpidQueueOptions.QPID_PERSIST_LAST_NODE) != null) - { - options.setPersistLastNode(); - } - - if (args.getString(QpidQueueOptions.QPID_LAST_VALUE_QUEUE) != null) - { - options.setOrderingPolicy(QpidQueueOptions.QPID_LAST_VALUE_QUEUE); - } else if (args - .getString(QpidQueueOptions.QPID_LAST_VALUE_QUEUE_NO_BROWSE) != null) - { - options - .setOrderingPolicy(QpidQueueOptions.QPID_LAST_VALUE_QUEUE_NO_BROWSE); - } - - if (args.getString(QpidQueueOptions.QPID_QUEUE_EVENT_GENERATION) != null) - { - options.setQueueEvents(args - .getString(QpidQueueOptions.QPID_QUEUE_EVENT_GENERATION)); - } - - return options; - } - - public QpidExchangeOptions getQpidExchangeOptions(MapAccessor args) - { - QpidExchangeOptions options = new QpidExchangeOptions(); - if (args.getInt(QpidExchangeOptions.QPID_EXCLUSIVE_BINDING) != null) - { - options.setExclusiveBinding(); - } - - if (args.getInt(QpidExchangeOptions.QPID_INITIAL_VALUE_EXCHANGE) != null) - { - options.setInitialValueExchange(); - } - - if (args.getInt(QpidExchangeOptions.QPID_MSG_SEQUENCE) != null) - { - options.setMessageSequencing(); - } - return options; - } - @SuppressWarnings("unchecked") public List getBindings(Map props) { @@ -209,9 +146,10 @@ public class AddressHelper public Map getDeclareArgs(Map props) { - if (props != null) + if (props != null && props.get(X_DECLARE) != null) { return (Map) props.get(X_DECLARE); + } else { return Collections.EMPTY_MAP; @@ -260,7 +198,6 @@ public class AddressHelper ExchangeNode node = new ExchangeNode(); node.setExchangeType(argsMap.getString(TYPE) == null ? null : argsMap .getString(TYPE)); - node.setDeclareArgs(getQpidExchangeOptions(argsMap)); fillInCommonNodeArgs(node, parent, argsMap); return node; } @@ -273,7 +210,6 @@ public class AddressHelper node.setAlternateExchange(argsMap.getString(ALT_EXCHANGE)); node.setExclusive(argsMap.getBoolean(EXCLUSIVE) == null ? false : argsMap.getBoolean(EXCLUSIVE)); - node.setDeclareArgs(getQpidQueueOptions(argsMap)); fillInCommonNodeArgs(node, parent, argsMap); return node; @@ -290,6 +226,10 @@ public class AddressHelper : argsMap.getBoolean(AUTO_DELETE)); node.setAlternateExchange(argsMap.getString(ALT_EXCHANGE)); node.setBindings(getBindings(parent)); + if (getDeclareArgs(parent).containsKey(ARGUMENTS)) + { + node.setDeclareArgs((Map)getDeclareArgs(parent).get(ARGUMENTS)); + } } /** diff --git a/java/client/src/main/java/org/apache/qpid/client/messaging/address/Node.java b/java/client/src/main/java/org/apache/qpid/client/messaging/address/Node.java index 24686cab17..c98b194334 100644 --- a/java/client/src/main/java/org/apache/qpid/client/messaging/address/Node.java +++ b/java/client/src/main/java/org/apache/qpid/client/messaging/address/Node.java @@ -38,6 +38,7 @@ public abstract class Node protected boolean _isAutoDelete; protected String _alternateExchange; protected List _bindings = new ArrayList(); + protected Map _declareArgs = Collections.emptyMap(); public int getType() { @@ -88,7 +89,15 @@ public abstract class Node this._bindings.add(binding); } - public abstract Map getDeclareArgs(); + public Map getDeclareArgs() + { + return _declareArgs; + } + + public void setDeclareArgs(Map options) + { + _declareArgs = options; + } public static class QueueNode extends Node { @@ -108,17 +117,7 @@ public abstract class Node public void setExclusive(boolean exclusive) { _isExclusive = exclusive; - } - - public Map getDeclareArgs() - { - return _queueOptions; - } - - public void setDeclareArgs(QpidQueueOptions options) - { - _queueOptions = options; - } + } } public static class ExchangeNode extends Node @@ -140,23 +139,10 @@ public abstract class Node { _exchangeType = exchangeType; } - - public Map getDeclareArgs() - { - return _exchangeOptions; - } - - public void setDeclareArgs(QpidExchangeOptions options) - { - _exchangeOptions = options; - } + } public static class UnknownNodeType extends Node { - public Map getDeclareArgs() - { - return Collections.emptyMap(); - } } } -- cgit v1.2.1