You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2011/08/15 13:26:57 UTC

svn commit: r1157780 [10/13] - in /qpid/branches/rg-amqp-1-0-sandbox/qpid/java: ./ broker-plugins/access-control/ broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/ broker-plugins/access-control/src/main/java/org...

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/framing/AMQShortStringTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/framing/AMQShortStringTest.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/framing/AMQShortStringTest.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/framing/AMQShortStringTest.java Mon Aug 15 11:26:46 2011
@@ -20,6 +20,10 @@
 
 package org.apache.qpid.framing;
 
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+
 import junit.framework.TestCase;
 public class AMQShortStringTest extends TestCase
 {
@@ -105,5 +109,215 @@ public class AMQShortStringTest extends 
         assertFalse(new AMQShortString("A").equals(new AMQShortString("a")));
     }
 
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(byte[])}.
+     */
+    public void testCreateAMQShortStringByteArray()
+    {
+        byte[] bytes = null;
+        try
+        {
+            bytes = "test".getBytes("UTF-8");
+        }
+        catch (UnsupportedEncodingException e)
+        {
+            fail("UTF-8 encoding is not supported anymore by JVM:" + e.getMessage());
+        }
+        AMQShortString string = new AMQShortString(bytes);
+        assertEquals("constructed amq short string length differs from expected", 4, string.length());
+        assertTrue("constructed amq short string differs from expected", string.equals("test"));
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(java.lang.String)}
+     * <p>
+     * Tests short string construction from string with length less than 255.
+     */
+    public void testCreateAMQShortStringString()
+    {
+        AMQShortString string = new AMQShortString("test");
+        assertEquals("constructed amq short string length differs from expected", 4, string.length());
+        assertTrue("constructed amq short string differs from expected", string.equals("test"));
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(char[])}.
+     * <p>
+     * Tests short string construction from char array with length less than 255.
+     */
+    public void testCreateAMQShortStringCharArray()
+    {
+        char[] chars = "test".toCharArray();
+        AMQShortString string = new AMQShortString(chars);
+        assertEquals("constructed amq short string length differs from expected", 4, string.length());
+        assertTrue("constructed amq short string differs from expected", string.equals("test"));
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(java.lang.CharSequence)}
+     * <p>
+     * Tests short string construction from char sequence with length less than 255.
+     */
+    public void testCreateAMQShortStringCharSequence()
+    {
+        AMQShortString string = new AMQShortString((CharSequence) "test");
+        assertEquals("constructed amq short string length differs from expected", 4, string.length());
+        assertTrue("constructed amq short string differs from expected", string.equals("test"));
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(byte[])}.
+     * <p>
+     * Tests an attempt to create an AMQP short string from byte array with length over 255.
+     */
+    public void testCreateAMQShortStringByteArrayOver255()
+    {
+        String test = buildString('a', 256);
+        byte[] bytes = null;
+        try
+        {
+            bytes = test.getBytes("UTF-8");
+        }
+        catch (UnsupportedEncodingException e)
+        {
+            fail("UTF-8 encoding is not supported anymore by JVM:" + e.getMessage());
+        }
+        try
+        {
+            new AMQShortString(bytes);
+            fail("It should not be possible to create AMQShortString with length over 255");
+        }
+        catch (IllegalArgumentException e)
+        {
+            assertEquals("Exception message differs from expected",
+                    "Cannot create AMQShortString with number of octets over 255!", e.getMessage());
+        }
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(java.lang.String)}
+     * <p>
+     * Tests an attempt to create an AMQP short string from string with length over 255
+     */
+    public void testCreateAMQShortStringStringOver255()
+    {
+        String test = buildString('a', 256);
+        try
+        {
+            new AMQShortString(test);
+            fail("It should not be possible to create AMQShortString with length over 255");
+        }
+        catch (IllegalArgumentException e)
+        {
+            assertEquals("Exception message differs from expected",
+                    "Cannot create AMQShortString with number of octets over 255!", e.getMessage());
+        }
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(char[])}.
+     * <p>
+     * Tests an attempt to create an AMQP short string from char array with length over 255.
+     */
+    public void testCreateAMQShortStringCharArrayOver255()
+    {
+        String test = buildString('a', 256);
+        char[] chars = test.toCharArray();
+        try
+        {
+            new AMQShortString(chars);
+            fail("It should not be possible to create AMQShortString with length over 255");
+        }
+        catch (IllegalArgumentException e)
+        {
+            assertEquals("Exception message differs from expected",
+                    "Cannot create AMQShortString with number of octets over 255!", e.getMessage());
+        }
+    }
+
+    /**
+     * Test method for
+     * {@link org.apache.qpid.framing.AMQShortString#AMQShortString(java.lang.CharSequence)}
+     * <p>
+     * Tests an attempt to create an AMQP short string from char sequence with length over 255.
+     */
+    public void testCreateAMQShortStringCharSequenceOver255()
+    {
+        String test = buildString('a', 256);
+        try
+        {
+            new AMQShortString((CharSequence) test);
+            fail("It should not be possible to create AMQShortString with length over 255");
+        }
+        catch (IllegalArgumentException e)
+        {
+            assertEquals("Exception message differs from expected",
+                    "Cannot create AMQShortString with number of octets over 255!", e.getMessage());
+        }
+    }
+
+    /**
+     * Tests joining of short strings into a short string with length over 255.
+     */
+    public void testJoinOverflow()
+    {
+        List<AMQShortString> data = new ArrayList<AMQShortString>();
+        for (int i = 0; i < 25; i++)
+        {
+            data.add(new AMQShortString("test data!"));
+        }
+        try
+        {
+            AMQShortString.join(data, new AMQShortString(" "));
+            fail("It should not be possible to create AMQShortString with length over 255");
+        }
+        catch (IllegalArgumentException e)
+        {
+            assertEquals("Exception message differs from expected",
+                    "Cannot create AMQShortString with number of octets over 255!", e.getMessage());
+        }
+    }
+
+    /**
+     * Tests joining of short strings into a short string with length less than 255.
+     */
+    public void testJoin()
+    {
+        StringBuilder expected = new StringBuilder();
+        List<AMQShortString> data = new ArrayList<AMQShortString>();
+        data.add(new AMQShortString("test data 1"));
+        expected.append("test data 1");
+        data.add(new AMQShortString("test data 2"));
+        expected.append(" test data 2");
+        AMQShortString result = AMQShortString.join(data, new AMQShortString(" "));
+        assertEquals("join result differs from expected", expected.toString(), result.asString());
+    }
+
+    /**
+     * A helper method to generate a string with given length containing given
+     * character
+     *
+     * @param ch
+     *            char to build string with
+     * @param length
+     *            target string length
+     * @return string
+     */
+    private String buildString(char ch, int length)
+    {
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < length; i++)
+        {
+            sb.append(ch);
+        }
+        return sb.toString();
+    }
 
 }

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/test/utils/QpidTestCase.java Mon Aug 15 11:26:46 2011
@@ -25,17 +25,22 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import junit.framework.TestCase;
 import junit.framework.TestResult;
 
 import org.apache.log4j.Logger;
+import org.apache.mina.util.AvailablePortFinder;
 
 public class QpidTestCase extends TestCase
 {
     protected static final Logger _logger = Logger.getLogger(QpidTestCase.class);
 
+    private final Map<String, String> _propertiesSetForTest = new HashMap<String, String>();
+
     /**
      * Some tests are excluded when the property test.excludes is set to true.
      * An exclusion list is either a file (prop test.excludesfile) which contains one test name
@@ -127,4 +132,54 @@ public class QpidTestCase extends TestCa
         
         return storeClass != null ? storeClass : MEMORY_STORE_CLASS_NAME ;
     }
+
+    public int findFreePort()
+    {
+        return AvailablePortFinder.getNextAvailable(10000);
+    }
+
+    /**
+     * Set a System property for duration of this test only. The tearDown will
+     * guarantee to reset the property to its previous value after the test
+     * completes.
+     *
+     * @param property The property to set
+     * @param value the value to set it to.
+     */
+    protected void setTestSystemProperty(String property, String value)
+    {
+        if (!_propertiesSetForTest.containsKey(property))
+        {
+            // Record the current value so we can revert it later.
+            _propertiesSetForTest.put(property, System.getProperty(property));
+        }
+
+        System.setProperty(property, value);
+    }
+
+    /**
+     * Restore the System property values that were set by this test run.
+     */
+    protected void revertTestSystemProperties()
+    {
+        for (String key : _propertiesSetForTest.keySet())
+        {
+            String value = _propertiesSetForTest.get(key);
+            if (value != null)
+            {
+                System.setProperty(key, value);
+            }
+            else
+            {
+                System.clearProperty(key);
+            }
+        }
+
+        _propertiesSetForTest.clear();
+    }
+
+    protected void tearDown() throws java.lang.Exception
+    {
+        revertTestSystemProperties();
+    }
 }

Copied: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java (from r1145000, qpid/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java)
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java?p2=qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java&p1=qpid/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java&r1=1145000&r2=1157780&rev=1157780&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/transport/network/mina/MinaNetworkHandlerTest.java Mon Aug 15 11:26:46 2011
@@ -34,6 +34,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.qpid.framing.AMQDataBlock;
 import org.apache.qpid.protocol.ProtocolEngine;
 import org.apache.qpid.protocol.ProtocolEngineFactory;
+import org.apache.qpid.protocol.ServerProtocolEngine;
 import org.apache.qpid.test.utils.QpidTestCase;
 import org.apache.qpid.transport.ConnectionSettings;
 import org.apache.qpid.transport.NetworkTransportConfiguration;
@@ -333,7 +334,7 @@ public class MinaNetworkHandlerTest exte
         }
     }
     
-    public class CountingProtocolEngine implements ProtocolEngine
+    public class CountingProtocolEngine implements ServerProtocolEngine
     {
         public ArrayList<ByteBuffer> _receivedBytes = new ArrayList<ByteBuffer>();
         private int _readBytes;
@@ -447,6 +448,11 @@ public class MinaNetworkHandlerTest exte
             return _closed;
         }
 
+        public long getConnectionId()
+        {
+            return -1;
+        }
+
     }
 
     private class EchoProtocolEngine extends CountingProtocolEngine

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java Mon Aug 15 11:26:46 2011
@@ -27,7 +27,9 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
+import java.util.Properties;
 
 public class FileUtilsTest extends TestCase
 {
@@ -182,6 +184,20 @@ public class FileUtilsTest extends TestC
         }
     }
 
+
+    /**
+     * Helper method to create a temporary file with test content.
+     *
+     * @param test_data The data to store in the file
+     *
+     * @return The File reference
+     */
+    private File createTestFileInTmpDir(final String testData) throws Exception 
+    {
+        final File tmpFile = File.createTempFile("test", "tmp");
+        
+        return createTestFile(tmpFile.getCanonicalPath(), testData);
+    }
     /**
      * Helper method to create a test file with a string content
      *
@@ -302,8 +318,74 @@ public class FileUtilsTest extends TestC
             // expected path
         }
     }
+    
+    /**
+     * Tests that openFileOrDefaultResource can open a file on the filesystem.
+     *
+     */
+    public void testOpenFileOrDefaultResourceOpensFileOnFileSystem() throws Exception
+    {
+        final File testFile = createTestFileInTmpDir("src=tmpfile");
+        final String filenameOnFilesystem = testFile.getCanonicalPath();
+        final String defaultResource = "org/apache/qpid/util/default.properties";
+
+        
+        final InputStream is = FileUtils.openFileOrDefaultResource(filenameOnFilesystem, defaultResource, this.getClass().getClassLoader());
+        assertNotNull("Stream must not be null", is);
+        final Properties p = new Properties();
+        p.load(is);
+        assertEquals("tmpfile", p.getProperty("src"));
+    }
+
+    /**
+     * Tests that openFileOrDefaultResource can open a file on the classpath.
+     *
+     */
+    public void testOpenFileOrDefaultResourceOpensFileOnClasspath() throws Exception
+    {
+        final String mydefaultsResource = "org/apache/qpid/util/mydefaults.properties";
+        final String defaultResource = "org/apache/qpid/util/default.properties";
+
+        
+        final InputStream is = FileUtils.openFileOrDefaultResource(mydefaultsResource, defaultResource, this.getClass().getClassLoader());
+        assertNotNull("Stream must not be null", is);
+        final Properties p = new Properties();
+        p.load(is);
+        assertEquals("mydefaults", p.getProperty("src"));
+    }
 
     /**
+     * Tests that openFileOrDefaultResource returns the default resource when file cannot be found.
+     */
+    public void testOpenFileOrDefaultResourceOpensDefaultResource() throws Exception
+    {
+        final File fileThatDoesNotExist = new File("/does/not/exist.properties");
+        assertFalse("Test must not exist", fileThatDoesNotExist.exists());
+        
+        final String defaultResource = "org/apache/qpid/util/default.properties";
+        
+        final InputStream is = FileUtils.openFileOrDefaultResource(fileThatDoesNotExist.getCanonicalPath(), defaultResource, this.getClass().getClassLoader());
+        assertNotNull("Stream must not be null", is);
+        Properties p = new Properties();
+        p.load(is);
+        assertEquals("default.properties", p.getProperty("src"));
+    }
+    
+    /**
+     * Tests that openFileOrDefaultResource returns null if neither the file nor
+     * the default resource can be found..
+     */
+    public void testOpenFileOrDefaultResourceReturnsNullWhenNeitherCanBeFound() throws Exception
+    {
+
+        final String mydefaultsResource = "org/apache/qpid/util/doesnotexisteiether.properties";        
+        final String defaultResource = "org/apache/qpid/util/doesnotexisteiether.properties";
+        
+        final InputStream is = FileUtils.openFileOrDefaultResource(mydefaultsResource, defaultResource, this.getClass().getClassLoader());
+        assertNull("Stream must  be null", is);
+    }
+    
+    /**
      * Given two lists of File arrays ensure they are the same length and all entries in Before are in After
      *
      * @param filesBefore File[]

Copied: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/ivy.xml (from r1100000, qpid/trunk/qpid/java/ivy.xml)
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/ivy.xml?p2=qpid/branches/rg-amqp-1-0-sandbox/qpid/java/ivy.xml&p1=qpid/trunk/qpid/java/ivy.xml&r1=1100000&r2=1157780&rev=1157780&view=diff
==============================================================================
--- qpid/trunk/qpid/java/ivy.xml (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/ivy.xml Mon Aug 15 11:26:46 2011
@@ -18,7 +18,7 @@
 <ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
 
-  <info organisation="org/apache" module="qpid" revision="0.10"/>
+  <info organisation="org/apache" module="qpid" revision="0.13"/>
 
   <publications xmlns:e="urn:ant.apache.org:ivy-extras">
     <artifact name="qpid-client" type="pom" ext="pom"/>

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/lib/ivy/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Aug 15 11:26:46 2011
@@ -0,0 +1 @@
+*

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/management-common.bnd
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/management-common.bnd?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/management-common.bnd (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/management-common.bnd Mon Aug 15 11:26:46 2011
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-ver: 0.11.0
+ver: 0.13.0
 
 Bundle-SymbolicName: qpid-management-common
 Bundle-Version: ${ver}

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/management/LoggingManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747869,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java Mon Aug 15 11:26:46 2011
@@ -36,7 +36,7 @@ import org.apache.qpid.management.common
  * The ManagedBroker is the management interface to expose management
  * features of the Broker.
  *
- * @version Qpid JMX API 2.1
+ * @version Qpid JMX API 2.2
  * @since Qpid JMX API 1.3
  */
 public interface ManagedBroker
@@ -135,7 +135,7 @@ public interface ManagedBroker
     /**
      * Resets all message and data statistics for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanOperation(name="resetStatistics",
                     description="Resets all message and data statistics for the virtual host",
@@ -145,7 +145,7 @@ public interface ManagedBroker
     /**
      * Peak rate of messages delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageDeliveryRate", description=TYPE + " Peak Message Delivery Rate")
     double getPeakMessageDeliveryRate();
@@ -153,7 +153,7 @@ public interface ManagedBroker
     /**
      * Peak rate of bytes delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataDeliveryRate", description=TYPE + " Peak Data Delivery Rate")
     double getPeakDataDeliveryRate();
@@ -161,7 +161,7 @@ public interface ManagedBroker
     /**
      * Rate of messages delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageDeliveryRate", description=TYPE + " Message Delivery Rate")
     double getMessageDeliveryRate();
@@ -169,7 +169,7 @@ public interface ManagedBroker
     /**
      * Rate of bytes delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataDeliveryRate", description=TYPE + " Data Delivery Rate")
     double getDataDeliveryRate();
@@ -177,7 +177,7 @@ public interface ManagedBroker
     /**
      * Total count of messages delivered for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesDelivered", description=TYPE + " Total Messages Delivered")
     long getTotalMessagesDelivered();
@@ -185,7 +185,7 @@ public interface ManagedBroker
     /**
      * Total count of bytes for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataDelivered", description=TYPE + " Total Data Delivered")
     long getTotalDataDelivered();
@@ -193,7 +193,7 @@ public interface ManagedBroker
     /**
      * Peak rate of messages received per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageReceiptRate", description=TYPE + " Peak Message Receipt Rate")
     double getPeakMessageReceiptRate();
@@ -201,7 +201,7 @@ public interface ManagedBroker
     /**
      * Peak rate of bytes received per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataReceiptRate", description=TYPE + " Peak Data Receipt Rate")
     double getPeakDataReceiptRate();
@@ -209,7 +209,7 @@ public interface ManagedBroker
     /**
      * Rate of messages received per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageReceiptRate", description=TYPE + " Message Receipt Rate")
     double getMessageReceiptRate();
@@ -217,7 +217,7 @@ public interface ManagedBroker
     /**
      * Rate of bytes received per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataReceiptRate", description=TYPE + " Data Receipt Rate")
     double getDataReceiptRate();
@@ -225,7 +225,7 @@ public interface ManagedBroker
     /**
      * Total count of messages received for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesReceived", description=TYPE + " Total Messages Received")
     long getTotalMessagesReceived();
@@ -233,7 +233,7 @@ public interface ManagedBroker
     /**
      * Total count of bytes received for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataReceived", description=TYPE + " Total Data Received")
     long getTotalDataReceived();
@@ -241,7 +241,7 @@ public interface ManagedBroker
     /**
      * Is statistics collection enabled for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="StatisticsEnabled", description=TYPE + " Statistics Enabled")
     boolean isStatisticsEnabled();

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedBroker.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java Mon Aug 15 11:26:46 2011
@@ -38,7 +38,7 @@ import org.apache.qpid.management.common
 /**
  * The management interface exposed to allow management of Connections.
  * 
- * @version Qpid JMX API 2.1
+ * @version Qpid JMX API 2.2
  * @since Qpid JMX API 1.3
  */
 public interface ManagedConnection
@@ -150,7 +150,7 @@ public interface ManagedConnection
     /**
      * Resets message and data statistics for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanOperation(name="resetStatistics",
                     description="Resets message and data statistics for this connection",
@@ -160,7 +160,7 @@ public interface ManagedConnection
     /**
      * Peak rate of messages delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageDeliveryRate", description=TYPE + " Peak Message Delivery Rate")
     double getPeakMessageDeliveryRate();
@@ -168,7 +168,7 @@ public interface ManagedConnection
     /**
      * Peak rate of bytes delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataDeliveryRate", description=TYPE + " Peak Data Delivery Rate")
     double getPeakDataDeliveryRate();
@@ -176,7 +176,7 @@ public interface ManagedConnection
     /**
      * Rate of messages delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageDeliveryRate", description=TYPE + " Message Delivery Rate")
     double getMessageDeliveryRate();
@@ -184,7 +184,7 @@ public interface ManagedConnection
     /**
      * Rate of bytes delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataDeliveryRate", description=TYPE + " Data Delivery Rate")
     double getDataDeliveryRate();
@@ -192,7 +192,7 @@ public interface ManagedConnection
     /**
      * Total count of messages delivered for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesDelivered", description=TYPE + " Total Messages Delivered")
     long getTotalMessagesDelivered();
@@ -200,7 +200,7 @@ public interface ManagedConnection
     /**
      * Total count of bytes for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataDelivered", description=TYPE + " Total Data Delivered")
     long getTotalDataDelivered();
@@ -208,7 +208,7 @@ public interface ManagedConnection
     /**
      * Peak rate of messages received per second for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageReceiptRate", description=TYPE + " Peak Message Receipt Rate")
     double getPeakMessageReceiptRate();
@@ -216,7 +216,7 @@ public interface ManagedConnection
     /**
      * Peak rate of bytes received per second for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataReceiptRate", description=TYPE + " Peak Data Receipt Rate")
     double getPeakDataReceiptRate();
@@ -224,7 +224,7 @@ public interface ManagedConnection
     /**
      * Rate of messages received per second for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageReceiptRate", description=TYPE + " Message Receipt Rate")
     double getMessageReceiptRate();
@@ -232,7 +232,7 @@ public interface ManagedConnection
     /**
      * Rate of bytes received per second for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataReceiptRate", description=TYPE + " Data Receipt Rate")
     double getDataReceiptRate();
@@ -240,7 +240,7 @@ public interface ManagedConnection
     /**
      * Total count of messages received for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesReceived", description=TYPE + " Total Messages Received")
     long getTotalMessagesReceived();
@@ -248,7 +248,7 @@ public interface ManagedConnection
     /**
      * Total count of bytes received for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataReceived", description=TYPE + " Total Data Received")
     long getTotalDataReceived();
@@ -256,10 +256,16 @@ public interface ManagedConnection
     /**
      * Is statistics collection enabled for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="StatisticsEnabled", description=TYPE + " Statistics Enabled")
     boolean isStatisticsEnabled();
-    
+
+    /**
+     * Sets statistics collection enabled/disabled for this connection.
+     *
+     * @param enabled
+     * @since Qpid JMX API 2.2
+     */
     void setStatisticsEnabled(boolean enabled);
 }

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ManagedConnection.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java:753219-753220,753253,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ServerInformation.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ServerInformation.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ServerInformation.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ServerInformation.java Mon Aug 15 11:26:46 2011
@@ -30,7 +30,7 @@ import org.apache.qpid.management.common
 /**
  * Interface for the ServerInformation MBean
  * 
- * @version Qpid JMX API 2.1
+ * @version Qpid JMX API 2.3
  * @since Qpid JMX API 1.3
  */
 public interface ServerInformation
@@ -47,7 +47,7 @@ public interface ServerInformation
      *  Qpid JMX API 1.1 can be assumed.
      */
     int QPID_JMX_API_MAJOR_VERSION = 2;
-    int QPID_JMX_API_MINOR_VERSION = 1;
+    int QPID_JMX_API_MINOR_VERSION = 3;
     
     
     /**
@@ -89,7 +89,7 @@ public interface ServerInformation
     /**
      * Resets all message and data statistics for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanOperation(name="resetStatistics",
                     description="Resets all message and data statistics for the broker",
@@ -99,7 +99,7 @@ public interface ServerInformation
     /**
      * Peak rate of messages delivered per second for the virtual host.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageDeliveryRate", description=TYPE + " Peak Message Delivery Rate")
     double getPeakMessageDeliveryRate();
@@ -107,7 +107,7 @@ public interface ServerInformation
     /**
      * Peak rate of bytes delivered per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataDeliveryRate", description=TYPE + " Peak Data Delivery Rate")
     double getPeakDataDeliveryRate();
@@ -115,7 +115,7 @@ public interface ServerInformation
     /**
      * Rate of messages delivered per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageDeliveryRate", description=TYPE + " Message Delivery Rate")
     double getMessageDeliveryRate();
@@ -123,7 +123,7 @@ public interface ServerInformation
     /**
      * Rate of bytes delivered per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataDeliveryRate", description=TYPE + " Data Delivery Rate")
     double getDataDeliveryRate();
@@ -131,7 +131,7 @@ public interface ServerInformation
     /**
      * Total count of messages delivered for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesDelivered", description=TYPE + " Total Messages Delivered")
     long getTotalMessagesDelivered();
@@ -139,7 +139,7 @@ public interface ServerInformation
     /**
      * Total count of bytes for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataDelivered", description=TYPE + " Total Data Delivered")
     long getTotalDataDelivered();
@@ -147,7 +147,7 @@ public interface ServerInformation
     /**
      * Peak rate of messages received per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakMessageReceiptRate", description=TYPE + " Peak Message Receipt Rate")
     double getPeakMessageReceiptRate();
@@ -155,7 +155,7 @@ public interface ServerInformation
     /**
      * Peak rate of bytes received per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="PeakDataReceiptRate", description=TYPE + " Peak Data Receipt Rate")
     double getPeakDataReceiptRate();
@@ -163,7 +163,7 @@ public interface ServerInformation
     /**
      * Rate of messages received per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="MessageReceiptRate", description=TYPE + " Message Receipt Rate")
     double getMessageReceiptRate();
@@ -171,7 +171,7 @@ public interface ServerInformation
     /**
      * Rate of bytes received per second for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="DataReceiptRate", description=TYPE + " Data Receipt Rate")
     double getDataReceiptRate();
@@ -179,7 +179,7 @@ public interface ServerInformation
     /**
      * Total count of messages received for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalMessagesReceived", description=TYPE + " Total Messages Received")
     long getTotalMessagesReceived();
@@ -187,7 +187,7 @@ public interface ServerInformation
     /**
      * Total count of bytes received for the broker.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="TotalDataReceived", description=TYPE + " Total Data Received")
     long getTotalDataReceived();
@@ -195,7 +195,7 @@ public interface ServerInformation
     /**
      * Is statistics collection enabled for this connection.
      * 
-     * @since Qpid JMX API 2.1
+     * @since Qpid JMX API 2.2
      */
     @MBeanAttribute(name="StatisticsEnabled", description=TYPE + " Statistics Enabled")
     boolean isStatisticsEnabled();

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java Mon Aug 15 11:26:46 2011
@@ -38,38 +38,21 @@ public interface UserManagement
     //TabularType and contained CompositeType key/description information.
     //For compatibility reasons, DONT MODIFY the existing key values if expanding the set.
     String USERNAME = "Username";
-    String RIGHTS_READ_ONLY = "read";
-    String RIGHTS_READ_WRITE = "write";
-    String RIGHTS_ADMIN = "admin";
+    String RIGHTS_READ_ONLY = "read";   // item deprecated
+    String RIGHTS_READ_WRITE = "write"; // item deprecated
+    String RIGHTS_ADMIN = "admin";      // item deprecated
+
     List<String> COMPOSITE_ITEM_NAMES = Collections.unmodifiableList(Arrays.asList(USERNAME, RIGHTS_READ_ONLY, RIGHTS_READ_WRITE, RIGHTS_ADMIN));
     List<String> COMPOSITE_ITEM_DESCRIPTIONS = Collections.unmodifiableList(
                               Arrays.asList("Broker Login username", 
-                                            "Management Console Read Permission", 
-                                            "Management Console Write Permission", 
-                                            "Management Console Admin Permission"));
+                                            "Item no longer used", 
+                                            "Item no longer used", 
+                                            "Item no longer used"));
+
     List<String> TABULAR_UNIQUE_INDEX = Collections.unmodifiableList(Arrays.asList(USERNAME));
 
     //********** Operations *****************//
     /**
-     * set password for user.
-     * 
-     * Since Qpid JMX API 1.2 this operation expects plain text passwords to be provided. Prior to this, MD5 hashed passwords were supplied.
-     * 
-     * @deprecated since Qpid JMX API 1.7
-     *
-     * @param username The username to create
-     * @param password The password for the user
-     *
-     * @return The result of the operation
-     */
-    @Deprecated
-    @MBeanOperation(name = "setPassword", description = "Set password for user.",
-                    impact = MBeanOperationInfo.ACTION)
-    boolean setPassword(@MBeanOperationParameter(name = "username", description = "Username")String username,
-                        //NOTE: parameter name was changed to 'passwd' in Qpid JMX API 1.7 to protect against older, incompatible management clients
-                        @MBeanOperationParameter(name = "passwd", description = "Password")char[] password);
-
-    /**
      * Set password for a given user.
      * 
      * @since Qpid JMX API 1.7
@@ -83,69 +66,21 @@ public interface UserManagement
                     impact = MBeanOperationInfo.ACTION)
     boolean setPassword(@MBeanOperationParameter(name = "username", description = "Username")String username,
                         @MBeanOperationParameter(name = "password", description = "Password")String password);
-    
-    /**
-     * set rights for users with given details
-     *
-     * @param username The username to create
-     * @param read     The set of permission to give the new user
-     * @param write    The set of permission to give the new user
-     * @param admin    The set of permission to give the new user
-     *
-     * @return The result of the operation
-     */
-    @MBeanOperation(name = "setRights", description = "Set access rights for user.",
-                    impact = MBeanOperationInfo.ACTION)
-    boolean setRights(@MBeanOperationParameter(name = "username", description = "Username")String username,
-                      @MBeanOperationParameter(name = "read", description = "Administration read")boolean read,
-                      @MBeanOperationParameter(name = "readAndWrite", description = "Administration write")boolean write,
-                      @MBeanOperationParameter(name = "admin", description = "Administration rights")boolean admin);
-
-    /**
-     * Create users with given details
-     *
-     * Since Qpid JMX API 1.2 this operation expects plain text passwords to be provided. Prior to this, MD5 hashed passwords were supplied.
-     * 
-     * @deprecated since Qpid JMX API 1.7
-     * 
-     * @param username The username to create
-     * @param password The password for the user
-     * @param read     The set of permission to give the new user
-     * @param write    The set of permission to give the new user
-     * @param admin    The set of permission to give the new user
-     *
-     * @return The result of the operation
-     */
-    @Deprecated
-    @MBeanOperation(name = "createUser", description = "Create new user from system.",
-                    impact = MBeanOperationInfo.ACTION)
-    boolean createUser(@MBeanOperationParameter(name = "username", description = "Username")String username,
-                       //NOTE: parameter name was changed to 'passwd' in Qpid JMX API 1.7 to protect against older, incompatible management clients
-                       @MBeanOperationParameter(name = "passwd", description = "Password")char[] password,
-                       @MBeanOperationParameter(name = "read", description = "Administration read")boolean read,
-                       @MBeanOperationParameter(name = "readAndWrite", description = "Administration write")boolean write,
-                       @MBeanOperationParameter(name = "admin", description = "Administration rights")boolean admin);
 
     /**
      * Create users with given details.
      * 
-     * @since Qpid JMX API 1.7
+     * @since Qpid JMX API 2.3 / 1.12
      * 
      * @param username The username to create
      * @param password The password for the user
-     * @param read     The set of permission to give the new user
-     * @param write    The set of permission to give the new user
-     * @param admin    The set of permission to give the new user
      *
-     * @return The result of the operation
+     * @return true if the user was created successfully, or false otherwise
      */
     @MBeanOperation(name = "createUser", description = "Create a new user.",
                     impact = MBeanOperationInfo.ACTION)
     boolean createUser(@MBeanOperationParameter(name = "username", description = "Username")String username,
-                       @MBeanOperationParameter(name = "password", description = "Password")String password,
-                       @MBeanOperationParameter(name = "read", description = "Administration read")boolean read,
-                       @MBeanOperationParameter(name = "readAndWrite", description = "Administration write")boolean write,
-                       @MBeanOperationParameter(name = "admin", description = "Administration rights")boolean admin);
+                       @MBeanOperationParameter(name = "password", description = "Password")String password);
     
     /**
      * View users returns all the users that are currently available to the system.
@@ -160,9 +95,11 @@ public interface UserManagement
 
 
     /**
-     * Reload the date from disk
+     * Reload the user data
      * 
-     * Since Qpid JMX API 1.2 this operation reloads the password and authorisation files. Prior to this, only the authorisation file was reloaded.
+     * Since Qpid JMX API 2.3 / 1.12 this operation reloads only the password data.
+     * Since Qpid JMX API 1.2 but prior to 2.3 / 1.12 this operation reloads the password and authorisation files.
+     * Prior to 1.2, only the authorisation file was reloaded.
      *
      * @return The result of the operation
      */
@@ -172,10 +109,13 @@ public interface UserManagement
 
     /**
      * View users returns all the users that are currently available to the system.
+     * 
+     * Since Qpid JMX API 2.3 / 1.12 the items that corresponded to read, write and admin flags
+     * are deprecated and always return false.
      *
      * @return a table of users data (Username, read, write, admin)
      */
-    @MBeanOperation(name = "viewUsers", description = "All users with access rights to the system.",
+    @MBeanOperation(name = "viewUsers", description = "All users that are currently available to the system.",
                     impact = MBeanOperationInfo.INFO)
     TabularData viewUsers();
 

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/UserManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanAttribute.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanConstructor.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanDescription.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanOperation.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -3,4 +3,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:1061302-1072333
 /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanOperationParameter.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
-/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:1073294-1090000
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/META-INF/MANIFEST.MF?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/META-INF/MANIFEST.MF (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/META-INF/MANIFEST.MF Mon Aug 15 11:26:46 2011
@@ -3,7 +3,7 @@ Bundle-License: http://www.apache.org/li
 Bundle-ManifestVersion: 2
 Bundle-Name: Qpid JMX Management Console Plug-in
 Bundle-SymbolicName: org.apache.qpid.management.ui; singleton:=true
-Bundle-Version: 0.11.0
+Bundle-Version: 0.13.0
 Bundle-Activator: org.apache.qpid.management.ui.Activator
 Bundle-Vendor: Apache Software Foundation
 Bundle-Localization: plugin

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src:805429-821809
 /qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src:788755
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java Mon Aug 15 11:26:46 2011
@@ -47,7 +47,7 @@ public abstract class ApplicationRegistr
 
     //max supported broker management interface supported by this release of the management console
     public static final int SUPPORTED_QPID_JMX_API_MAJOR_VERSION = 2;
-    public static final int SUPPORTED_QPID_JMX_API_MINOR_VERSION = 1;
+    public static final int SUPPORTED_QPID_JMX_API_MINOR_VERSION = 3;
     
     public static final String DATA_DIR = System.getProperty("user.home") + File.separator + ".qpidmc";
     

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:1073294-1157765

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:1073294-1157765

Modified: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java
URL: http://svn.apache.org/viewvc/qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java?rev=1157780&r1=1157779&r2=1157780&view=diff
==============================================================================
--- qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java (original)
+++ qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/users/UserManagementTabControl.java Mon Aug 15 11:26:46 2011
@@ -37,7 +37,6 @@ import javax.management.openmbean.Tabula
 import org.apache.qpid.management.ui.ApiVersion;
 import org.apache.qpid.management.ui.ApplicationRegistry;
 import org.apache.qpid.management.ui.ManagedBean;
-import org.apache.qpid.management.common.mbeans.UserManagement;
 import org.apache.qpid.management.ui.jmx.JMXManagedObject;
 import org.apache.qpid.management.ui.jmx.MBeanUtility;
 import org.apache.qpid.management.ui.views.TabControl;
@@ -83,7 +82,7 @@ public class UserManagementTabControl ex
     private TableViewer _tableViewer = null;
 
     private TabularDataSupport _userDetails = null;
-    private UserManagement _ummb;
+    private LegacySupportingUserManagement _ummb;
     private ApiVersion _ApiVersion;
     
     public UserManagementTabControl(TabFolder tabFolder, JMXManagedObject mbean, MBeanServerConnection mbsc)
@@ -91,9 +90,9 @@ public class UserManagementTabControl ex
         super(tabFolder);
         _mbean = mbean;
         _ApiVersion = ApplicationRegistry.getServerRegistry(mbean).getManagementApiVersion();
-        _ummb = (UserManagement)
+        _ummb = (LegacySupportingUserManagement)
                 MBeanServerInvocationHandler.newProxyInstance(mbsc, mbean.getObjectName(),
-                                                            UserManagement.class, false);
+                                                            LegacySupportingUserManagement.class, false);
         _toolkit = new FormToolkit(_tabFolder.getDisplay());
         _form = _toolkit.createScrolledForm(_tabFolder);
         _form.getBody().setLayout(new GridLayout());
@@ -171,6 +170,13 @@ public class UserManagementTabControl ex
         
         String[] titles = { "Username", "JMX Management Rights" };
         int[] bounds = { 310, 200 };
+        if(!settingManagementRightsSupported())
+        {
+            //Since Qpid JMX API 2.3 / 1.12 only Username is used
+            titles = new String[]{ "Username"};
+            bounds = new int[]{ 310 };
+        }
+
         for (int i = 0; i < titles.length; i++) 
         {
             final int index = i;
@@ -214,7 +220,16 @@ public class UserManagementTabControl ex
         
         Composite buttonsComposite = _toolkit.createComposite(tableComposite);
         gridData = new GridData(SWT.FILL, SWT.TOP, false, false);
-        gridData.heightHint = 165;
+        if(!settingManagementRightsSupported())
+        {
+            //The 'Set Rights' button is not shown from Qpid JMX API 2.3 / 1.12
+            //onward, provide less space
+            gridData.heightHint = 135;
+        }
+        else
+        {
+            gridData.heightHint = 165;
+        }
         buttonsComposite.setLayoutData(gridData);
         buttonsComposite.setLayout(new GridLayout());
         
@@ -292,14 +307,14 @@ public class UserManagementTabControl ex
                     
                     if (returnValue  == InputDialog.OK)
                     {
-                        char[] password = id.getValue().toCharArray();
+                        char[] passwordArray = id.getValue().toCharArray();
 
                         // Qpid JMX API 1.1 and below expects the password to be sent as a hashed value.
                         if (_ApiVersion.lessThanOrEqualTo(1,1))
                         {
                             try
                             {
-                                password = ViewUtility.getHash(id.getValue());
+                                passwordArray = ViewUtility.getHash(id.getValue());
                             }
                             catch (Exception hashException)
                             {
@@ -312,7 +327,18 @@ public class UserManagementTabControl ex
 
                         try
                         {
-                            boolean result = _ummb.setPassword(user, password);
+                            boolean result;
+
+                            //For Qpid JMX API >=1.7 use String based method instead of older char[] based method.
+                            if(_ApiVersion.greaterThanOrEqualTo(1, 7))
+                            {
+                                result = _ummb.setPassword(user, id.getValue());
+                            }
+                            else
+                            {
+                                result = _ummb.setPassword(user, passwordArray);
+                            }
+
                             ViewUtility.operationResultFeedback(result, "Updated user password", "Failed to update user password");
                         }
                         catch(Exception e2)
@@ -324,25 +350,34 @@ public class UserManagementTabControl ex
                 }
             }
         });
-        
-        final Button setRightsButton = _toolkit.createButton(buttonsComposite, "Set Rights ...", SWT.PUSH);
-        gridData = new GridData(SWT.CENTER, SWT.BOTTOM, false, false);
-        gridData.widthHint = 125;
-        setRightsButton.setLayoutData(gridData);
-        setRightsButton.setEnabled(false);
-        setRightsButton.addSelectionListener(new SelectionAdapter()
+
+        final Button setRightsButton;
+        if(!settingManagementRightsSupported())
         {
-            public void widgetSelected(SelectionEvent e)
+            //The 'Set Rights' button is not used from Qpid JMX API 2.3 / 1.12 onward
+            setRightsButton = null;
+        }
+        else
+        {
+            setRightsButton = _toolkit.createButton(buttonsComposite, "Set Rights ...", SWT.PUSH);
+            gridData = new GridData(SWT.CENTER, SWT.BOTTOM, false, false);
+            gridData.widthHint = 125;
+            setRightsButton.setLayoutData(gridData);
+            setRightsButton.setEnabled(false);
+            setRightsButton.addSelectionListener(new SelectionAdapter()
             {
-                int selectionIndex = _table.getSelectionIndex();
-
-                if (selectionIndex != -1)
+                public void widgetSelected(SelectionEvent e)
                 {
-                    setRights(setRightsButton.getShell());
+                    int selectionIndex = _table.getSelectionIndex();
+
+                    if (selectionIndex != -1)
+                    {
+                        setRights(setRightsButton.getShell());
+                    }
                 }
-            }
-        });
-        
+            });
+        }
+
         _tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
             public void selectionChanged(SelectionChangedEvent evt)
             {
@@ -351,14 +386,20 @@ public class UserManagementTabControl ex
                 if (selectionIndex == -1)
                 {
                     deleteUsersButton.setEnabled(false);
-                    setRightsButton.setEnabled(false);
                     setPasswordButton.setEnabled(false);
+                    if(setRightsButton != null)
+                    {
+                        setRightsButton.setEnabled(false);
+                    }
                     return;
                 }
                 else
                 {
                     deleteUsersButton.setEnabled(true);
-                    setRightsButton.setEnabled(true);
+                    if(setRightsButton != null)
+                    {
+                        setRightsButton.setEnabled(true);
+                    }
                 }
                 
                 if (_table.getSelectionCount() > 1)
@@ -386,11 +427,17 @@ public class UserManagementTabControl ex
             //this only reloaded the JMX rights file before Qpid JMX API 1.2
             _toolkit.createLabel(miscGroup, " Loads the current management rights file from disk");
         }
-        else
+        else if(settingManagementRightsSupported())
         {
-            //since Qpid JMX API 1.2 it also reloads the password file
+            //from Qpid JMX API 1.2 to 2.3 / 1.12 it also reloads the password file
             _toolkit.createLabel(miscGroup, " Loads the current password and management rights files from disk");
         }
+        else
+        {
+            //since Qpid JMX API 2.3 / 1.12 it only reloads the password file
+            _toolkit.createLabel(miscGroup, " Loads the current password data");
+        }
+
         reloadUserDetails.addSelectionListener(new SelectionAdapter()
         {
             public void widgetSelected(SelectionEvent e)
@@ -453,7 +500,7 @@ public class UserManagementTabControl ex
             {
                 case 0 : // username column 
                     return (String) ((CompositeData) element).get(USERNAME);
-                case 1 : // rights column 
+                case 1 : // rights column (used for API < 2.3 / 1.12)
                     return classifyUserRights((CompositeData) element);
                 default :
                     return "-";
@@ -510,11 +557,11 @@ public class UserManagementTabControl ex
             int comparison = 0;
             switch(column)
             {
-                case 0:
+                case 0: //username column
                     comparison = String.valueOf(user1.get(USERNAME)).compareTo(
                                                 String.valueOf(user2.get(USERNAME)));
                     break;
-                case 1:
+                case 1: // rights column (used for API < 2.3 / 1.12)
                     comparison = classifyUserRights(user1).compareTo(classifyUserRights(user2));
                     break;
                 default:
@@ -555,7 +602,12 @@ public class UserManagementTabControl ex
     
     private void setRights(final Shell parent)
     {
-        
+        if(!settingManagementRightsSupported())
+        {
+            throw new UnsupportedOperationException("Setting management rights" +
+                        " is not supported using this version of the broker management API: " + (_ApiVersion));
+        }
+
         int selectionIndex = _table.getSelectionIndex();
 
         if (selectionIndex == -1)
@@ -699,6 +751,13 @@ public class UserManagementTabControl ex
         
         shell.open();
     }
+
+    protected boolean settingManagementRightsSupported()
+    {
+        //setting management access rights was supported until Qpid JMX API 1.12 / 2.3
+        return _ApiVersion.lessThan(1,12) ||
+                (_ApiVersion.greaterThanOrEqualTo(2, 0) && _ApiVersion.lessThan(2,3));
+    }
     
     private void addUser(final Shell parent)
     {
@@ -706,7 +765,8 @@ public class UserManagementTabControl ex
         
         Composite usernameComposite = _toolkit.createComposite(shell, SWT.NONE);
         usernameComposite.setBackground(shell.getBackground());
-        usernameComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+        GridData usernameCompGridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+        usernameComposite.setLayoutData(usernameCompGridData);
         usernameComposite.setLayout(new GridLayout(2,false));
         
         _toolkit.createLabel(usernameComposite,"Username:").setBackground(shell.getBackground());
@@ -715,28 +775,45 @@ public class UserManagementTabControl ex
         
         Composite passwordComposite = _toolkit.createComposite(shell, SWT.NONE);
         passwordComposite.setBackground(shell.getBackground());
-        passwordComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+        GridData passwordCompGridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+        passwordComposite.setLayoutData(passwordCompGridData);
         passwordComposite.setLayout(new GridLayout(2,false));
         
         _toolkit.createLabel(passwordComposite,"Password:").setBackground(shell.getBackground());
         final Text passwordText = new Text(passwordComposite, SWT.BORDER | SWT.PASSWORD);
         passwordText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-        
-        Group buttonGroup = new Group(shell, SWT.NONE);
-        buttonGroup.setText("JMX Management Rights");
-        buttonGroup.setBackground(shell.getBackground());
-        buttonGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-        buttonGroup.setLayout(new GridLayout(4,false));
 
-        final Button noneButton = new Button(buttonGroup, SWT.RADIO);
-        noneButton.setText("No Access");
-        noneButton.setSelection(true);
-        final Button readButton = new Button(buttonGroup, SWT.RADIO);
-        readButton.setText("Read Only");
-        final Button writeButton = new Button(buttonGroup, SWT.RADIO);
-        writeButton.setText("Read + Write");
-        final Button adminButton = new Button(buttonGroup, SWT.RADIO);
-        adminButton.setText("Admin");
+        final Button readButton;
+        final Button writeButton;
+        final Button adminButton;
+        if(settingManagementRightsSupported())
+        {
+            Group buttonGroup = new Group(shell, SWT.NONE);
+            buttonGroup.setText("JMX Management Rights");
+            buttonGroup.setBackground(shell.getBackground());
+            buttonGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+            buttonGroup.setLayout(new GridLayout(4,false));
+
+            final Button noneButton = new Button(buttonGroup, SWT.RADIO);
+            noneButton.setText("No Access");
+            noneButton.setSelection(true);
+            readButton = new Button(buttonGroup, SWT.RADIO);
+            readButton.setText("Read Only");
+            writeButton = new Button(buttonGroup, SWT.RADIO);
+            writeButton.setText("Read + Write");
+            adminButton = new Button(buttonGroup, SWT.RADIO);
+            adminButton.setText("Admin");
+        }
+        else
+        {
+            readButton = null;
+            writeButton = null;
+            adminButton = null;
+            //The lack of rights settings will cause the dialog to,
+            //shrink so add width hints to the other components
+            passwordCompGridData.widthHint = 350;
+            usernameCompGridData.widthHint = 350;
+        }
 
         Composite okCancelButtonsComp = _toolkit.createComposite(shell);
         okCancelButtonsComp.setBackground(shell.getBackground());
@@ -784,22 +861,36 @@ public class UserManagementTabControl ex
                         return;
                     }
                 }
-                
-                boolean read = readButton.getSelection();
-                boolean write = writeButton.getSelection();
-                boolean admin = adminButton.getSelection();
+
+                //read the access rights selections if required
+                boolean read = false;
+                boolean write = false;
+                boolean admin = false;
+                if(settingManagementRightsSupported())
+                {
+                    read = readButton.getSelection();
+                    write = writeButton.getSelection();
+                    admin = adminButton.getSelection();
+                }
                 
                 shell.dispose();
                 try
                 {
                     boolean result = false;
-                    // If we have Qpid JMX API 1.7 or above, use newer createUser method with String based password.
-                    if (_ApiVersion.greaterThanOrEqualTo(1,7))
+
+                    if (!settingManagementRightsSupported())
+                    {
+                        // If we have Qpid JMX API 2.3 / 1.12 or above, use newer createUser method without rights parameters.
+                        result = _ummb.createUser(username, password);
+                    }
+                    else if (_ApiVersion.greaterThanOrEqualTo(1,7))
                     {
+                        // If we have Qpid JMX API 1.7 or above, use newer createUser method with String based password.
                         result = _ummb.createUser(username, password, read, write, admin);
                     }
                     else
                     {
+                        // Else we have Qpid JMX API 1.6 or below, use older createUser method with char[] based password.
                         result = _ummb.createUser(username, passwordChars, read, write, admin);
                     }
                     

Propchange: qpid/branches/rg-amqp-1-0-sandbox/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:26:46 2011
@@ -2,4 +2,4 @@
 /qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:795950-829653
 /qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:805429-821809
 /qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:1061302-1072333
-/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:1073294-1090000
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:1073294-1157765



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org