You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2010/08/27 22:25:49 UTC
svn commit: r990254 - in
/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views:
MBeanView.java ViewUtility.java type/QueueTypeTabControl.java
Author: robbie
Date: Fri Aug 27 20:25:49 2010
New Revision: 990254
URL: http://svn.apache.org/viewvc?rev=990254&view=rev
Log:
QPID-2828: prevent NPE if attempting to add queues to the navigation tree that have been removed due to MBean unregistration notification since the selection list was created, and indicate in the status bar why the operation apparently has no effect
Modified:
qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
Modified: qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java?rev=990254&r1=990253&r2=990254&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java (original)
+++ qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java Fri Aug 27 20:25:49 2010
@@ -475,7 +475,7 @@ public class MBeanView extends ViewPart
}
_form.setText(APPLICATION_NAME);
- populateStatusBar("");
+ clearStatusBar();
}
public void mbeanUnregistered(ManagedBean mbean)
@@ -556,6 +556,11 @@ public class MBeanView extends ViewPart
IActionBars bars = getViewSite().getActionBars();
bars.getStatusLineManager().setMessage(message);
}
+
+ public void clearStatusBar()
+ {
+ populateStatusBar("");
+ }
public void back() throws Exception
{
Modified: qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java?rev=990254&r1=990253&r2=990254&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java (original)
+++ qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java Fri Aug 27 20:25:49 2010
@@ -1002,6 +1002,14 @@ public class ViewUtility
_mbeanView.populateStatusBar(icon, failureMessage);
}
}
+
+ public static void clearStatusBar()
+ {
+ if(_mbeanView != null)
+ {
+ _mbeanView.clearStatusBar();
+ }
+ }
public static void centerChildInParentShell(Shell parent, Shell child)
{
Modified: qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java?rev=990254&r1=990253&r2=990254&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java (original)
+++ qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java Fri Aug 27 20:25:49 2010
@@ -700,13 +700,37 @@ public class QueueTypeTabControl extends
ArrayList<ManagedBean> selectedMBeans = new ArrayList<ManagedBean>();
+ boolean allSucceded = true;
//the entries are created from an List<Object> with the attribute values (name first)
for(int index = 0; index < selectedIndices.length ; index++)
{
List<Object> queueEntry = (List<Object>) _table.getItem(selectedIndices[index]).getData();
String queueName = (String) queueEntry.get(0);
- selectedMBeans.add(_serverRegistry.getQueue(queueName, _virtualHost));
+
+ ManagedBean queueMBean = _serverRegistry.getQueue(queueName, _virtualHost);
+
+ //check queue had not already been unregistered before trying to add it
+ if(queueMBean != null)
+ {
+ selectedMBeans.add(queueMBean);
+ }
+ else
+ {
+ allSucceded = false;
+ }
+ }
+
+ if(allSucceded)
+ {
+ //ensure the status bar is cleared of any previous failures added by the below
+ ViewUtility.clearStatusBar();
}
+ else
+ {
+ ViewUtility.operationFailedStatusBarMessage("A selected queue could not be added as it was no longer registered");
+ refresh();
+ }
+
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
NavigationView view = (NavigationView)window.getActivePage().findView(NavigationView.ID);
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org