summaryrefslogtreecommitdiff
path: root/java/management/eclipse-plugin/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2009-07-17 14:00:57 +0000
committerRobert Gemmell <robbie@apache.org>2009-07-17 14:00:57 +0000
commit6b52c6b8cab3a7d696924b4ddf0a9687cef23ef2 (patch)
tree2a734b0c5f5ed0a0f649067ef9889348e66e1d88 /java/management/eclipse-plugin/src
parentfff75235fd0b8d8c995d586e407bae9a6c6fd953 (diff)
downloadqpid-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.java18
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;
}