diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-06-28 16:46:12 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-06-28 16:46:12 +0000 |
| commit | 07c285f662e8f60d4e8aca247b65b77ca5df4587 (patch) | |
| tree | 7fe15262589c0fe5206e02a5e9336c6288f004e0 /qpid/java/management/eclipse-plugin/src | |
| parent | bb45ec03f95ffdfa6c0163067dcb75af8b64ceb5 (diff) | |
| download | qpid-python-07c285f662e8f60d4e8aca247b65b77ca5df4587.tar.gz | |
QPID-3998, QPID-3999, QPID-4093: add new management plugins for jmx/rest/webui functionality, partial merge from the java-config-and-management branch at r1355039
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1355072 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/management/eclipse-plugin/src')
3 files changed, 24 insertions, 136 deletions
diff --git a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java index 963a821864..64a9068357 100644 --- a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java +++ b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/ApplicationRegistry.java @@ -47,7 +47,7 @@ public abstract class ApplicationRegistry //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 = 4; + public static final int SUPPORTED_QPID_JMX_API_MINOR_VERSION = 5; public static final String DATA_DIR = System.getProperty("user.home") + File.separator + ".qpidmc"; diff --git a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java index ba4e091b73..737895958f 100644 --- a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java +++ b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java @@ -404,13 +404,8 @@ public class ViewUtility private static void convertByteArray(FormToolkit toolkit, Composite compositeHolder, CompositeData data, String itemName, String encoding) { - Byte[] arrayItems = (Byte[])data.get(itemName); - byte[] byteArray = new byte[arrayItems.length]; + byte[] byteArray = getByteArray(data, itemName); - for (int i = 0; i < arrayItems.length; i++) - { - byteArray[i] = arrayItems[i]; - } try { String textMessage = new String(byteArray, encoding); @@ -427,6 +422,27 @@ public class ViewUtility } } + private static byte[] getByteArray(CompositeData data, String itemName) + { + byte[] byteArray; + Object binaryData = data.get(itemName); + + if(binaryData instanceof byte[]) + { + byteArray = (byte[]) binaryData; + } + else + { + Byte[] objectArray = (Byte[]) binaryData; + byteArray = new byte[objectArray.length]; + for(int i = 0; i < objectArray.length; i++) + { + byteArray[i] = objectArray[i]; + } + } + return byteArray; + } + private static Shell getShell() { Shell shell = Display.getCurrent().getActiveShell(); @@ -462,13 +478,8 @@ public class ViewUtility private static void handleBinaryMessageContent(FormToolkit toolkit, Composite compositeHolder, CompositeData data, String itemName, String encoding) { final String thisEncoding = encoding; - final Byte[] arrayItems = (Byte[]) data.get(itemName); - final byte[] byteArray = new byte[arrayItems.length]; - for (int i = 0; i < arrayItems.length; i++) - { - byteArray[i] = arrayItems[i]; - } + final byte[] byteArray = getByteArray(data, itemName); try { diff --git a/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java b/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java deleted file mode 100644 index eef6356642..0000000000 --- a/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -package org.apache.qpid.management.ui; - -import org.apache.qpid.exchange.ExchangeDefaults; -import org.apache.qpid.framing.AMQShortString; -import org.apache.qpid.server.exchange.DirectExchange; -import org.apache.qpid.server.management.AMQManagedObject; -import org.apache.qpid.server.model.UUIDGenerator; -import org.apache.qpid.server.queue.AMQQueue; -import org.apache.qpid.server.queue.AMQQueueFactory; -import org.apache.qpid.server.queue.AMQQueueMBean; -import org.apache.qpid.server.registry.ApplicationRegistry; -import org.apache.qpid.server.registry.IApplicationRegistry; -import org.apache.qpid.server.util.InternalBrokerBaseCase; -import org.apache.qpid.server.virtualhost.VirtualHost; - -import javax.management.MBeanFeatureInfo; -import javax.management.MBeanInfo; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - - -/** - * Test class to test if any change in the broker JMX code is affesting the management console - * There are some hardcoding of management feature names and parameter names to create a customized - * look in the console. - */ -public class ManagementConsoleTest extends InternalBrokerBaseCase -{ - private VirtualHost _virtualHost; - - @Override - public void setUp() throws Exception - { - super.setUp(); - IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(); - _virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test"); - } - - - /** - * Test for AMQQueueMBean attribute and operation names, which are used in the management console - * @throws Exception - */ - public void testAMQQueueMBeanInfo() throws Exception - { - // If this test fails due to changes in the broker code, - // then the constants in the Constants.java shoule be updated accordingly - AMQQueue queue = AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueueForManagement"), false, null, false, false, - _virtualHost, null); - AMQManagedObject mbean = new AMQQueueMBean(queue); - MBeanInfo mbeanInfo = mbean.getMBeanInfo(); - - List<String> operationNames = getNamesList(mbeanInfo.getOperations()); - assertTrue(operationNames.contains(Constants.OPERATION_MOVE_MESSAGES)); - - List<String> attributesList = getNamesList(mbeanInfo.getAttributes()); - assertTrue(attributesList.contains(Constants.ATTRIBUTE_QUEUE_CONSUMERCOUNT)); - assertTrue(attributesList.contains(Constants.ATTRIBUTE_QUEUE_DEPTH)); - } - - /** - * Test for Exchange MBean attribute and operation names, which are used in the management console - * @throws Exception - */ - public void testExchangeMBeanInfo() throws Exception - { - // If this test fails due to changes in the broker code, - // then the constants in the Constants.java shoule be updated accordingly - DirectExchange exchange = new DirectExchange(); - exchange.initialise(UUIDGenerator.generateUUID(), _virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, false, 0, true); - AMQManagedObject mbean = (AMQManagedObject)exchange.getManagedObject(); - MBeanInfo mbeanInfo = mbean.getMBeanInfo(); - - // Check for the Exchange Type property in the ObjectName - assertNotNull(mbean.getObjectName().getKeyProperty(Constants.EXCHANGE_TYPE)); - - // Check for operation names - List<String> operationNames = getNamesList(mbeanInfo.getOperations()); - assertTrue(operationNames.contains(Constants.OPERATION_CREATE_BINDING)); - } - - /** - * Test for VirtualHostManagerMBean features used in Management console for customizing the GUI - * @throws Exception - */ - public void testVirtualHostManagerMBeanInfo() throws Exception - { - AMQManagedObject mbean = (AMQManagedObject)_virtualHost.getManagedObject(); - assertTrue(mbean.getType().equals(Constants.VIRTUAL_HOST)); - } - - private List<String> getNamesList(MBeanFeatureInfo[] features) - { - List<String> names = new ArrayList<String>(); - for (MBeanFeatureInfo feature : features) - { - names.add(feature.getName()); - } - - return names; - } -} |
