summaryrefslogtreecommitdiff
path: root/java/management/eclipse-plugin
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2009-07-22 13:09:44 +0000
committerRobert Gemmell <robbie@apache.org>2009-07-22 13:09:44 +0000
commite9cc17f9cf25c918b05c5b433360c66526a8d394 (patch)
treec1a8f1bbab50023043ff913fdbede2b9927042f9 /java/management/eclipse-plugin
parent6a37d090c2a315e5dadb1c32632a1e63271a733c (diff)
downloadqpid-python-e9cc17f9cf25c918b05c5b433360c66526a8d394.tar.gz
QPID-1967: collect possible Exchange Type values from the broker instead of relying on default set within the management console
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@796693 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin')
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java2
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java4
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java26
3 files changed, 26 insertions, 6 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
index 6887f8bc75..e6f0e227d8 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/Constants.java
@@ -78,7 +78,7 @@ public class Constants
public final static String CONNECTION ="Connection";
public final static String EXCHANGE = "Exchange";
public final static String EXCHANGE_TYPE = "ExchangeType";
- public final static String[] EXCHANGE_TYPE_VALUES = {"direct", "fanout", "headers", "topic"};
+ public final static String[] DEFAULT_EXCHANGE_TYPE_VALUES = {"direct", "fanout", "headers", "topic"};
public final static String[] BOOLEAN_TYPE_VALUES = {"false", "true"};
public final static String[] ATTRIBUTE_TABLE_TITLES = {"Attribute Name", "Value"};
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
index 11df1b6f00..ff2005e4bb 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java
@@ -221,7 +221,7 @@ public class OperationTabControl extends TabControl
// Customised parameter widgets
if (_mbean.isExchange() &&
- EXCHANGE_TYPE_VALUES[2].equals(_mbean.getProperty(EXCHANGE_TYPE)) &&
+ DEFAULT_EXCHANGE_TYPE_VALUES[2].equals(_mbean.getProperty(EXCHANGE_TYPE)) &&
_opData.getName().equalsIgnoreCase(OPERATION_CREATE_BINDING))
{
customCreateNewBinding();
@@ -274,7 +274,7 @@ public class OperationTabControl extends TabControl
}
else if (param.getName().equals(EXCHANGE_TYPE))
{
- items = EXCHANGE_TYPE_VALUES;
+ items = DEFAULT_EXCHANGE_TYPE_VALUES;
}
else if (isUserListParameter(param))
{
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java
index 2a77451533..2d5d4dc0d3 100644
--- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java
+++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/vhost/VHostTabControl.java
@@ -20,13 +20,15 @@
*/
package org.apache.qpid.management.ui.views.vhost;
-import static org.apache.qpid.management.ui.Constants.EXCHANGE_TYPE_VALUES;
+import static org.apache.qpid.management.ui.Constants.DEFAULT_EXCHANGE_TYPE_VALUES;
+import java.io.IOException;
import java.util.List;
import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
+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.ui.ServerRegistry;
@@ -78,11 +80,13 @@ public class VHostTabControl extends TabControl
private Composite _paramsComposite = null;
private ManagedBroker _vhmb;
+ private ApiVersion _ApiVersion;
public VHostTabControl(TabFolder tabFolder, JMXManagedObject mbean, MBeanServerConnection mbsc)
{
super(tabFolder);
_mbean = mbean;
+ _ApiVersion = ApplicationRegistry.getServerRegistry(mbean).getManagementApiVersion();
_vhmb = (ManagedBroker) MBeanServerInvocationHandler.newProxyInstance(mbsc,
mbean.getObjectName(), ManagedBroker.class, false);
_toolkit = new FormToolkit(_tabFolder.getDisplay());
@@ -620,11 +624,27 @@ public class VHostTabControl extends TabControl
typeComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
typeComposite.setLayout(new GridLayout(2,false));
- //TODO: get exchange types from broker instead of hardcoded
+ String[] exchangeTypes;
+ if(_ApiVersion.greaterThanOrEqualTo(1, 3))//if the server supports Qpid JMX API 1.3
+ {//request the current exchange types from the broker
+ try
+ {
+ exchangeTypes = _vhmb.getExchangeTypes();
+ }
+ catch (IOException e1)
+ {
+ exchangeTypes = DEFAULT_EXCHANGE_TYPE_VALUES;
+ }
+ }
+ else //use the fallback defaults.
+ {
+ exchangeTypes = DEFAULT_EXCHANGE_TYPE_VALUES;
+ }
+
_toolkit.createLabel(typeComposite,"Type:").setBackground(shell.getBackground());
final org.eclipse.swt.widgets.List typeList = new org.eclipse.swt.widgets.List(typeComposite, SWT.SINGLE | SWT.BORDER);
typeList.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- typeList.setItems(EXCHANGE_TYPE_VALUES);
+ typeList.setItems(exchangeTypes);
Composite durableComposite = _toolkit.createComposite(shell, SWT.NONE);
durableComposite.setBackground(shell.getBackground());