diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-07-17 14:00:57 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-07-17 14:00:57 +0000 |
| commit | 6b52c6b8cab3a7d696924b4ddf0a9687cef23ef2 (patch) | |
| tree | 2a734b0c5f5ed0a0f649067ef9889348e66e1d88 /java/management/eclipse-plugin/src | |
| parent | fff75235fd0b8d8c995d586e407bae9a6c6fd953 (diff) | |
| download | qpid-python-6b52c6b8cab3a7d696924b4ddf0a9687cef23ef2.tar.gz | |
QPID-1990: add the messages queue position to the viewMessages() operation results, update management console QueueOperations tab accordingly
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@795089 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin/src')
| -rw-r--r-- | java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/queue/QueueOperationsTabControl.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/queue/QueueOperationsTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/queue/QueueOperationsTabControl.java index a3954649eb..bb934593a2 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/queue/QueueOperationsTabControl.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/queue/QueueOperationsTabControl.java @@ -35,6 +35,7 @@ import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.TabularDataSupport; +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.ManagedQueue; @@ -84,6 +85,8 @@ public class QueueOperationsTabControl extends TabControl private TableViewer _tableViewer = null; private Composite _paramsComposite = null; + private ApiVersion _ApiVersion; + private TabularDataSupport _messages = null; private ManagedQueue _qmb; @@ -91,11 +94,13 @@ public class QueueOperationsTabControl extends TabControl static final String MSG_HEADER = ManagedQueue.VIEW_MSGS_COMPOSITE_ITEM_NAMES[1]; static final String MSG_SIZE = ManagedQueue.VIEW_MSGS_COMPOSITE_ITEM_NAMES[2]; static final String MSG_REDELIVERED = ManagedQueue.VIEW_MSGS_COMPOSITE_ITEM_NAMES[3]; + static final String MSG_QUEUE_POS = ManagedQueue.VIEW_MSGS_COMPOSITE_ITEM_NAMES[4]; public QueueOperationsTabControl(TabFolder tabFolder, JMXManagedObject mbean, MBeanServerConnection mbsc) { super(tabFolder); _mbean = mbean; + _ApiVersion = ApplicationRegistry.getServerRegistry(mbean).getManagementApiVersion(); _qmb = (ManagedQueue) MBeanServerInvocationHandler.newProxyInstance(mbsc, mbean.getObjectName(), ManagedQueue.class, false); _toolkit = new FormToolkit(_tabFolder.getDisplay()); @@ -184,7 +189,13 @@ public class QueueOperationsTabControl extends TabControl final TableSorter tableSorter = new TableSorter(); String[] titles = {"AMQ ID", "Size(bytes)"}; - int[] bounds = { 175, 175 }; + if(_ApiVersion.greaterThanOrEqualTo(1, 3)) + { + //if server management API is >= 1.3, show message's queue position + titles = new String[]{"AMQ ID", "Size(bytes)", "Queue Position"}; + } + + int[] bounds = { 175, 175, 140 }; for (int i = 0; i < titles.length; i++) { final int index = i; @@ -415,6 +426,8 @@ public class QueueOperationsTabControl extends TabControl return String.valueOf(((CompositeDataSupport) element).get(MSG_AMQ_ID)); case 1 : // msg size column return String.valueOf(((CompositeDataSupport) element).get(MSG_SIZE)); + case 2 : // msg position in queue + return String.valueOf(((CompositeDataSupport) element).get(MSG_QUEUE_POS)); default : return "-"; } @@ -476,6 +489,9 @@ public class QueueOperationsTabControl extends TabControl case 1: comparison = ((Long) msg1.get(MSG_SIZE)).compareTo((Long)msg2.get(MSG_SIZE)); break; + case 2: + comparison = ((Long) msg1.get(MSG_QUEUE_POS)).compareTo((Long)msg2.get(MSG_QUEUE_POS)); + break; default: comparison = 0; } |
