diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-07-22 13:09:44 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-07-22 13:09:44 +0000 |
| commit | e9cc17f9cf25c918b05c5b433360c66526a8d394 (patch) | |
| tree | c1a8f1bbab50023043ff913fdbede2b9927042f9 /java/management/eclipse-plugin | |
| parent | 6a37d090c2a315e5dadb1c32632a1e63271a733c (diff) | |
| download | qpid-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')
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()); |
