modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
| 4 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
| 28 ++++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
| 27 +++++----
3 files changed, 34 insertions(+), 25 deletions(-)
New commits:
commit 7ad728b11eed2b2cf1117510afdff6c4c4f0b2da
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Oct 22 12:20:11 2010 -0400
Fix issue with resource lists not rendering in debug mode. The issue was
that the ResourceDatsource was setting the listgrid category attribute
to the ResourceCategory object. In non-debug this seemed to render
just fine, using, I guess toString. But in debug it failed silently,
requiring specifically the name string to be set for the attribute.
Unrelated:
- Add support for singleton use of ResourceDatasource and use it for the
ResourceSearchView.
- Use ResourceDataField object where not used and use imports of these
objects where applicable ( just for cleaner code )
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
index dab49e6..86f90bc 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
@@ -327,8 +327,8 @@ public class Table extends LocatableHLayout implements RefreshableView
{
public void onClick(ClickEvent clickEvent) {
if (tableAction.confirmMessage != null) {
- String message =
tableAction.confirmMessage.replaceAll("\\#",
- String.valueOf(listGrid.getSelection().length));
+ String message =
tableAction.confirmMessage.replaceAll("\\#", String.valueOf(listGrid
+ .getSelection().length));
SC.ask(message, new BooleanCallback() {
public void execute(Boolean confirmed) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
index c2c2e0e..e55d846 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
@@ -54,6 +54,15 @@ public class ResourceDatasource extends RPCDataSource<Resource>
{
private ResourceGWTServiceAsync resourceService =
GWTServiceLookup.getResourceService();
+ private static ResourceDatasource INSTANCE;
+
+ public static ResourceDatasource getInstance() {
+ if (INSTANCE == null) {
+ INSTANCE = new ResourceDatasource();
+ }
+ return INSTANCE;
+ }
+
public ResourceDatasource() {
super();
List<DataSourceField> fields = addDataSourceFields();
@@ -110,12 +119,18 @@ public class ResourceDatasource extends
RPCDataSource<Resource> {
}
public void onSuccess(PageList<Resource> result) {
-
dataRetrieved(result, response, request);
}
});
}
+ protected void dataRetrieved(PageList<Resource> result, DSResponse response,
DSRequest request) {
+ ListGridRecord[] records = buildRecords(result);
+ response.setData(records);
+ response.setTotalRows(result.getTotalSize()); // for paging to work we have to
specify size of full result set
+ processResponse(request.getRequestId(), response);
+ }
+
protected ResourceCriteria getFetchCriteria(final DSRequest request) {
ResourceCriteria criteria = new ResourceCriteria();
criteria.setPageControl(getPageControl(request));
@@ -136,13 +151,6 @@ public class ResourceDatasource extends RPCDataSource<Resource>
{
return criteria;
}
- protected void dataRetrieved(PageList<Resource> result, DSResponse response,
DSRequest request) {
- ListGridRecord[] records = buildRecords(result);
- response.setData(records);
- response.setTotalRows(result.getTotalSize()); // for paging to work we have to
specify size of full result set
- processResponse(request.getRequestId(), response);
- }
-
@Override
public Resource copyValues(ListGridRecord from) {
return new Resource(from.getAttributeAsInt("id"));
@@ -157,13 +165,13 @@ public class ResourceDatasource extends
RPCDataSource<Resource> {
record.setAttribute(DESCRIPTION.propertyName(), from.getDescription());
record.setAttribute(TYPE.propertyName(), from.getResourceType().getId());
record.setAttribute(PLUGIN.propertyName(), from.getResourceType().getPlugin());
- record.setAttribute(CATEGORY.propertyName(),
from.getResourceType().getCategory());
+ record.setAttribute(CATEGORY.propertyName(),
from.getResourceType().getCategory().getDisplayName());
record.setAttribute("icon",
from.getResourceType().getCategory().getDisplayName() + "_"
+ (from.getCurrentAvailability().getAvailabilityType() == AvailabilityType.UP
? "up" : "down") + "_16.png");
record
.setAttribute(
- "currentAvailability",
+ AVAILABILITY.propertyName(),
from.getCurrentAvailability().getAvailabilityType() ==
AvailabilityType.UP ? "/images/icons/availability_green_16.png"
: "/images/icons/availability_red_16.png");
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
index 82595af..f0154d3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
@@ -18,6 +18,13 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.AVAILABILITY;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.CATEGORY;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.DESCRIPTION;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.PLUGIN;
+import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.TYPE;
+
import java.util.ArrayList;
import java.util.List;
@@ -88,7 +95,7 @@ public class ResourceSearchView extends Table {
// searchPanel.setWrapItemTitles(false);
// searchPanel.setFields(searchBox);
- final ResourceDatasource datasource = new ResourceDatasource();
+ final ResourceDatasource datasource = ResourceDatasource.getInstance();
setDataSource(datasource);
}
@@ -99,8 +106,7 @@ public class ResourceSearchView extends Table {
iconField.setType(ListGridFieldType.IMAGE);
iconField.setImageURLPrefix("types/");
- ListGridField nameField = new
ListGridField(ResourceDataSourceField.NAME.propertyName(),
- ResourceDataSourceField.NAME.title(), 250);
+ ListGridField nameField = new ListGridField(NAME.propertyName(), NAME.title(),
250);
nameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
return "<a href=\"" +
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt("id")) +
"\">" + o
@@ -108,20 +114,15 @@ public class ResourceSearchView extends Table {
}
});
- ListGridField descriptionField = new
ListGridField(ResourceDataSourceField.DESCRIPTION.propertyName(),
- ResourceDataSourceField.DESCRIPTION.title());
+ ListGridField descriptionField = new ListGridField(DESCRIPTION.propertyName(),
DESCRIPTION.title());
- ListGridField typeNameField = new
ListGridField(ResourceDataSourceField.TYPE.propertyName(),
- ResourceDataSourceField.TYPE.title(), 130);
+ ListGridField typeNameField = new ListGridField(TYPE.propertyName(),
TYPE.title(), 130);
- ListGridField pluginNameField = new
ListGridField(ResourceDataSourceField.PLUGIN.propertyName(),
- ResourceDataSourceField.PLUGIN.title(), 100);
+ ListGridField pluginNameField = new ListGridField(PLUGIN.propertyName(),
PLUGIN.title(), 100);
- ListGridField categoryField = new
ListGridField(ResourceDataSourceField.CATEGORY.propertyName(),
- ResourceDataSourceField.CATEGORY.title(), 60);
+ ListGridField categoryField = new ListGridField(CATEGORY.propertyName(),
CATEGORY.title(), 60);
- ListGridField availabilityField = new
ListGridField(ResourceDataSourceField.AVAILABILITY.propertyName(),
- ResourceDataSourceField.AVAILABILITY.title(), 55);
+ ListGridField availabilityField = new ListGridField(AVAILABILITY.propertyName(),
AVAILABILITY.title(), 55);
availabilityField.setType(ListGridFieldType.IMAGE);
availabilityField.setAlign(Alignment.CENTER);