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@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