Author: robbie Date: Mon Jul 13 10:21:19 2009 New Revision: 793531 URL: http://svn.apache.org/viewvc?rev=793531&view=rev Log: QPID-1943: expose exchange mbeans tabular/composite key values through the management interface
Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Mon Jul 13 10:21:19 2009 @@ -69,8 +69,6 @@ protected abstract class ExchangeMBean extends AMQManagedObject implements ManagedExchange { // open mbean data types for representing exchange bindings - protected String[] _bindingItemNames; - protected String[] _bindingItemIndexNames; protected OpenType[] _bindingItemTypes; protected CompositeType _bindingDataType; protected TabularType _bindinglistDataType; @@ -82,17 +80,14 @@ } protected void init() throws OpenDataException - { - _bindingItemNames = new String[]{"Binding Key", "Queue Names"}; - _bindingItemIndexNames = new String[]{_bindingItemNames[0]}; - + { _bindingItemTypes = new OpenType[2]; _bindingItemTypes[0] = SimpleType.STRING; _bindingItemTypes[1] = new ArrayType(1, SimpleType.STRING); _bindingDataType = new CompositeType("Exchange Binding", "Binding key and Queue names", - _bindingItemNames, _bindingItemNames, _bindingItemTypes); + COMPOSITE_ITEM_NAMES, COMPOSITE_ITEM_DESCRIPTIONS, _bindingItemTypes); _bindinglistDataType = new TabularType("Exchange Bindings", "Exchange Bindings for " + getName(), - _bindingDataType, _bindingItemIndexNames); + _bindingDataType, TABULAR_UNIQUE_INDEX); } public ManagedObject getParentObject() Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java Mon Jul 13 10:21:19 2009 @@ -114,7 +114,7 @@ } Object[] bindingItemValues = {key.toString(), queueList.toArray(new String[0])}; - CompositeData bindingData = new CompositeDataSupport(_bindingDataType, _bindingItemNames, bindingItemValues); + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, COMPOSITE_ITEM_NAMES, bindingItemValues); _bindingList.put(bindingData); } Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java Mon Jul 13 10:21:19 2009 @@ -77,7 +77,7 @@ String queueName = queue.getName().toString(); Object[] bindingItemValues = {queueName, new String[]{queueName}}; - CompositeData bindingData = new CompositeDataSupport(_bindingDataType, _bindingItemNames, bindingItemValues); + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, COMPOSITE_ITEM_NAMES, bindingItemValues); _bindingList.put(bindingData); } Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java Mon Jul 13 10:21:19 2009 @@ -84,8 +84,6 @@ { private static final Logger _logger = Logger.getLogger(HeadersExchange.class); - - public static final ExchangeType<HeadersExchange> TYPE = new ExchangeType<HeadersExchange>() { @@ -137,17 +135,15 @@ */ protected void init() throws OpenDataException { - _bindingItemNames = new String[]{"Binding No", "Queue Name", "Queue Bindings"}; - _bindingItemIndexNames = new String[]{_bindingItemNames[0]}; _bindingItemTypes = new OpenType[3]; _bindingItemTypes[0] = SimpleType.INTEGER; _bindingItemTypes[1] = SimpleType.STRING; _bindingItemTypes[2] = new ArrayType(1, SimpleType.STRING); _bindingDataType = new CompositeType("Exchange Binding", "Queue name and header bindings", - _bindingItemNames, _bindingItemNames, _bindingItemTypes); + HEADERS_COMPOSITE_ITEM_NAMES, HEADERS_COMPOSITE_ITEM_DESC, _bindingItemTypes); _bindinglistDataType = new TabularType("Exchange Bindings", "List of exchange bindings for " + getName(), - _bindingDataType, _bindingItemIndexNames); + _bindingDataType, HEADERS_TABULAR_UNIQUE_INDEX); } public TabularData bindings() throws OpenDataException @@ -180,7 +176,7 @@ Object[] bindingItemValues = {count++, queueName, mappingList.toArray(new String[0])}; - CompositeData bindingData = new CompositeDataSupport(_bindingDataType, _bindingItemNames, bindingItemValues); + CompositeData bindingData = new CompositeDataSupport(_bindingDataType, HEADERS_COMPOSITE_ITEM_NAMES, bindingItemValues); _bindingList.put(bindingData); } Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java Mon Jul 13 10:21:19 2009 @@ -336,7 +336,7 @@ for(Map.Entry<String, List<String>> entry : bindingData.entrySet()) { Object[] bindingItemValues = {entry.getKey(), entry.getValue().toArray(new String[entry.getValue().size()]) }; - CompositeData bindingCompositeData = new CompositeDataSupport(_bindingDataType, _bindingItemNames, bindingItemValues); + CompositeData bindingCompositeData = new CompositeDataSupport(_bindingDataType, COMPOSITE_ITEM_NAMES, bindingItemValues); _bindingList.put(bindingCompositeData); } Modified: qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java?rev=793531&r1=793530&r2=793531&view=diff ============================================================================== --- qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java (original) +++ qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java Mon Jul 13 10:21:19 2009 @@ -40,6 +40,18 @@ { static final String TYPE = "Exchange"; static final int VERSION = 1; + + //TabularType and contained CompositeType key/description info for DIRECT/TOPIC/FANOUT exchanges. + //For compatibility reasons, DONT MODIFY the existing key values if expanding the set. + String[] COMPOSITE_ITEM_NAMES = {"Binding Key", "Queue Names"}; + String[] COMPOSITE_ITEM_DESCRIPTIONS = {"Binding Key", "Queue Names"}; + String[] TABULAR_UNIQUE_INDEX = {COMPOSITE_ITEM_NAMES[0]}; + + //TabularType and contained CompositeType key/description info for HEADERS exchange only. + //For compatibility reasons, DONT MODIFY the existing key values if expanding the set. + String[] HEADERS_COMPOSITE_ITEM_NAMES = new String[]{"Binding No", "Queue Name", "Queue Bindings"}; + String[] HEADERS_COMPOSITE_ITEM_DESC = new String[]{"Binding No", "Queue Name", "Queue Bindings"}; + String[] HEADERS_TABULAR_UNIQUE_INDEX = new String[]{HEADERS_COMPOSITE_ITEM_NAMES[0]}; /** * Returns the name of the managed exchange. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org