modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
| 18 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
| 53 ++++++----
2 files changed, 50 insertions(+), 21 deletions(-)
New commits:
commit 2af03f656585a994e8959faca9da0d3d83988c44
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Nov 14 11:56:16 2011 -0500
[BZ 752893] refresh the resource-errors (yellow triangle) icon after the user
deletes one or more resource errors or closes the resource errors modal
(
https://bugzilla.redhat.com/show_bug.cgi?id=752893)
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
index a2ec59a..977a67b 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
@@ -54,10 +54,16 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLPane;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
public class ResourceErrorsView extends Table<ResourceErrorsDataSource> {
+
private static final String ERROR_ICON = "[SKIN]/Dialog/warn.png";
- public ResourceErrorsView(String locatorId, String string, Criteria criteria, Object
object, String[] strings) {
+ private ResourceTitleBar titleBar;
+
+ public ResourceErrorsView(String locatorId, Criteria criteria, ResourceTitleBar
titleBar) {
super(locatorId, MSG.common_title_component_errors(), criteria);
+
+ this.titleBar = titleBar;
+
setWidth100();
setHeight100();
setShowHeader(false);
@@ -144,6 +150,7 @@ public class ResourceErrorsView extends
Table<ResourceErrorsDataSource> {
for (ListGridRecord record : selection) {
resourceErrorIds[i++] = record.getAttributeAsInt(Field.ID);
}
+
GWTServiceLookup.getResourceService().deleteResourceErrors(resourceErrorIds,
new AsyncCallback<Void>() {
public void onSuccess(Void result) {
@@ -162,6 +169,12 @@ public class ResourceErrorsView extends
Table<ResourceErrorsDataSource> {
});
}
+ @Override
+ public void refresh() {
+ super.refresh();
+ this.titleBar.refresh();
+ }
+
private void popupDetails(String details) {
final Window winModal = new
LocatableWindow(extendLocatorId("errorDetailsWin"));
winModal.setTitle(MSG.common_title_component_errors());
@@ -176,9 +189,9 @@ public class ResourceErrorsView extends
Table<ResourceErrorsDataSource> {
winModal.setCanDragResize(true);
winModal.centerInPage();
winModal.addCloseClickHandler(new CloseClickHandler() {
- @Override
public void onCloseClick(CloseClientEvent event) {
winModal.markForDestroy();
+ titleBar.refresh();
}
});
@@ -190,4 +203,5 @@ public class ResourceErrorsView extends
Table<ResourceErrorsDataSource> {
winModal.addItem(htmlPane);
winModal.show();
}
+
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
index eda0615..49fb719 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
@@ -32,6 +32,8 @@ import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
+import com.smartgwt.client.widgets.events.DoubleClickEvent;
+import com.smartgwt.client.widgets.events.DoubleClickHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.SpacerItem;
@@ -114,6 +116,11 @@ public class ResourceTitleBar extends LocatableVLayout {
this.title.setWidth("*");
this.availabilityImage = new Img(ImageManager.getAvailabilityLargeIcon(null), 24,
24);
+ this.availabilityImage.addDoubleClickHandler(new DoubleClickHandler() {
+ public void onDoubleClick(DoubleClickEvent event) {
+ refresh();
+ }
+ });
this.favoriteButton = new
LocatableImg(this.extendLocatorId("Favorite"), NOT_FAV_ICON, 24, 24);
@@ -173,22 +180,8 @@ public class ResourceTitleBar extends LocatableVLayout {
});
pluginErrors = new Img(PLUGIN_ERRORS_ICON, 24, 24);
- pluginErrors.hide();
-
GWTServiceLookup.getResourceService().findResourceErrors(resourceComposite.getResource().getId(),
- new AsyncCallback<List<ResourceError>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
-
MSG.dataSource_resourceErrors_error_fetchFailure(String.valueOf(resourceComposite.getResource()
- .getId())), caught);
- }
-
- public void onSuccess(List<ResourceError> result) {
- if (!result.isEmpty()) {
- pluginErrors.show();
- }
- markForRedraw();
- }
- });
+ pluginErrors.setVisible(false);
+ refreshPluginErrors(); // this is an async call
//define tool tip
pluginErrors.setPrompt(MSG.view_resource_title_component_errors_tooltip());
@@ -216,9 +209,9 @@ public class ResourceTitleBar extends LocatableVLayout {
Resource resource = resourceComposite.getResource();
ResourceErrorsDataSource errors = new
ResourceErrorsDataSource(resource.getId());
- ResourceErrorsView errorsGrid = new
ResourceErrorsView(extendLocatorId("errors"), MSG
- .view_summaryOverview_header_detectedErrors(), null, null,
- new String[] { ResourceErrorsDataSource.Field.DETAIL });
+ ResourceErrorsView errorsGrid = new
ResourceErrorsView(extendLocatorId("errors"), null,
+ ResourceTitleBar.this);
+
errorsGrid.setDataSource(errors);
form.addMember(errorsGrid);
@@ -344,6 +337,27 @@ public class ResourceTitleBar extends LocatableVLayout {
return favorites;
}
+ public void refresh() {
+ refreshPluginErrors();
+ }
+
+ private void refreshPluginErrors() {
+
GWTServiceLookup.getResourceService().findResourceErrors(resourceComposite.getResource().getId(),
+ new AsyncCallback<List<ResourceError>>() {
+ public void onFailure(Throwable caught) {
+ pluginErrors.setVisible(false);
+ CoreGUI.getErrorHandler().handleError(
+
MSG.dataSource_resourceErrors_error_fetchFailure(String.valueOf(resourceComposite.getResource()
+ .getId())), caught);
+ }
+
+ public void onSuccess(List<ResourceError> result) {
+ pluginErrors.setVisible(!result.isEmpty());
+ markForRedraw();
+ }
+ });
+ }
+
public class UpdateFavoritesCallback implements AsyncCallback<Subject> {
public void onSuccess(Subject subject) {
String msg = null;
@@ -369,4 +383,5 @@ public class ResourceTitleBar extends LocatableVLayout {
toggleFavoriteLocally();
}
}
+
}
\ No newline at end of file