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

Reply via email to