diff options
Diffstat (limited to 'java')
3 files changed, 39 insertions, 2 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java index 9763c799d7..65615a6d18 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java @@ -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 { diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java index eb34f6c51c..655718c098 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java @@ -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) { diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java index df2a1eca59..c5ab5184ee 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java @@ -700,14 +700,38 @@ public class QueueTypeTabControl extends MBeanTypeTabControl 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); |
