From 3e81c24dd7adf0c043e1163e0925dc9ae26156db Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Tue, 23 Jun 2009 09:58:35 +0000 Subject: QPID-1930: expose UserManagement composite/tabular type keys through the management interface for reference, and add warning about future alterations to ensure compatibility git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/jmx_mc_gsoc09@787615 13f79535-47bb-0310-9956-ffa450edef68 --- .../security/access/management/AMQUserManagementMBean.java | 12 +++--------- .../qpid/management/common/mbeans/LoggingManagement.java | 1 + .../qpid/management/common/mbeans/UserManagement.java | 13 +++++++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java index b71484f0b2..25c3754462 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java @@ -71,28 +71,22 @@ public class AMQUserManagementMBean extends AMQManagedObject implements UserMana // Setup for the TabularType static TabularType _userlistDataType; // Datatype for representing User Lists - static CompositeType _userDataType; // Composite type for representing User - static String[] _userItemNames = {"Username", "read", "write", "admin"}; static { - String[] userItemDesc = {"Broker Login username", "Management Console Read Permission", - "Management Console Write Permission", "Management Console Admin Permission"}; - OpenType[] userItemTypes = new OpenType[4]; // User item types. userItemTypes[0] = SimpleType.STRING; // For Username userItemTypes[1] = SimpleType.BOOLEAN; // For Rights - Read userItemTypes[2] = SimpleType.BOOLEAN; // For Rights - Write userItemTypes[3] = SimpleType.BOOLEAN; // For Rights - Admin - String[] userDataIndex = {_userItemNames[0]}; try { _userDataType = - new CompositeType("User", "User Data", _userItemNames, userItemDesc, userItemTypes); + new CompositeType("User", "User Data", COMPOSITE_ITEM_NAMES, COMPOSITE_ITEM_DESCRIPTIONS, userItemTypes); - _userlistDataType = new TabularType("Users", "List of users", _userDataType, userDataIndex); + _userlistDataType = new TabularType("Users", "List of users", _userDataType, TABULAR_UNIQUE_INDEX); } catch (OpenDataException e) { @@ -327,7 +321,7 @@ public class AMQUserManagementMBean extends AMQManagedObject implements UserMana } Object[] itemData = {user.getName(), read, write, admin}; - CompositeData messageData = new CompositeDataSupport(_userDataType, _userItemNames, itemData); + CompositeData messageData = new CompositeDataSupport(_userDataType, COMPOSITE_ITEM_NAMES, itemData); userList.put(messageData); } } diff --git a/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java b/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java index db370240b9..5d89b0d92d 100644 --- a/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java +++ b/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java @@ -35,6 +35,7 @@ public interface LoggingManagement int VERSION = 1; //TabularType and contained CompositeType key/description information + //For compatibility reasons, DONT MODIFY the existing key values if expanding the set. String[] COMPOSITE_ITEM_NAMES = {"LoggerName", "Level"}; String[] COMPOSITE_ITEM_DESCRIPTIONS = {"Name of the logger", "Level of the logger"}; String[] TABULAR_UNIQUE_INDEX = {COMPOSITE_ITEM_NAMES[0]}; diff --git a/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java b/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java index b7495531c0..1ef9ef12cd 100644 --- a/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java +++ b/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java @@ -20,21 +20,26 @@ */ package org.apache.qpid.management.common.mbeans; -import org.apache.qpid.management.common.mbeans.annotations.MBeanAttribute; import org.apache.qpid.management.common.mbeans.annotations.MBeanOperation; import org.apache.qpid.management.common.mbeans.annotations.MBeanOperationParameter; import javax.management.openmbean.TabularData; -import javax.management.openmbean.CompositeData; -import javax.management.JMException; import javax.management.MBeanOperationInfo; -import java.io.IOException; public interface UserManagement { String TYPE = "UserManagement"; int VERSION = 2; + + //TabularType and contained CompositeType key/description information. + //For compatibility reasons, DONT MODIFY the existing key values if expanding the set. + String[] COMPOSITE_ITEM_NAMES = {"Username", "read", "write", "admin"}; + String[] COMPOSITE_ITEM_DESCRIPTIONS = {"Broker Login username", + "Management Console Read Permission", + "Management Console Write Permission", + "Management Console Admin Permission"}; + String[] TABULAR_UNIQUE_INDEX = {COMPOSITE_ITEM_NAMES[0]}; //********** Operations *****************// /** -- cgit v1.2.1