modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
| 10 ++++++++++
1 file changed, 10 insertions(+)
New commits:
commit e1424f702866a1f7609aaabdccc79e36aa2082fd
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Feb 25 23:50:20 2011 -0500
BZ 680167 - do not perform multiple loads unnecessarily
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
index e1c16de..ddab284 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
@@ -54,6 +54,8 @@ public class ResourceResourceAgentView extends LocatableVLayout
implements Refre
private StaticTextItem lastAvailReportValue;
private StaticTextItem endpointValue;
+ private boolean loading = false; // will be true if loadData is currently waiting for
responses
+
public ResourceResourceAgentView(String locatorId, int resourceId) {
super(locatorId);
@@ -124,9 +126,15 @@ public class ResourceResourceAgentView extends LocatableVLayout
implements Refre
}
private void loadData() {
+ if (loading) {
+ return; // we are already loading and waiting for data, no need to re-issue
the same queries
+ }
+ loading = true;
+
GWTServiceLookup.getAgentService().getAgentForResource(this.resourceId, new
AsyncCallback<Agent>() {
@Override
public void onFailure(Throwable caught) {
+ loading = false;
//Permissions failure, generate message to that effect
for (Canvas child : form.getChildren()) {
child.destroy();
@@ -147,6 +155,7 @@ public class ResourceResourceAgentView extends LocatableVLayout
implements Refre
GWTServiceLookup.getAgentService().pingAgentForResource(resourceId, new
AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
+ loading = false;
CoreGUI.getErrorHandler().handleError(
MSG.view_inventory_summary_agent_error2() + " " +
resourceId + ".", caught);
agentStatusIcon.setSrc(ImageManager.getAvailabilityLargeIcon(null));
@@ -155,6 +164,7 @@ public class ResourceResourceAgentView extends LocatableVLayout
implements Refre
@Override
public void onSuccess(Boolean isUp) {
+ loading = false;
//update icon with correct status
agentStatusIcon.setSrc(ImageManager.getAvailabilityLargeIcon(isUp));
form.markForRedraw();
Show replies by thread