summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/MBeanView.java7
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java8
-rw-r--r--java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java26
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);