modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java
| 36 ++++++++--
1 file changed, 31 insertions(+), 5 deletions(-)
New commits:
commit 6768323d174b88a5ef9f60ec5a5b54da527750af
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Nov 29 18:11:40 2010 -0500
ensure that the Type column for the Resource tables show the resource type NAME and
not the type ID
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 d2593a5..9abe462 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
@@ -25,7 +25,9 @@ import static
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceD
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.HashSet;
import java.util.List;
+import java.util.Map;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
@@ -42,11 +44,14 @@ import org.rhq.core.domain.criteria.ResourceCriteria;
import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
+import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
+import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
/**
@@ -125,11 +130,32 @@ public class ResourceDatasource extends
RPCDataSource<Resource> {
});
}
- protected void dataRetrieved(PageList<Resource> result, DSResponse response,
DSRequest request) {
- Record[] 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 void dataRetrieved(final PageList<Resource> result, final DSResponse
response, final DSRequest request) {
+ HashSet<Integer> typesSet = new HashSet<Integer>();
+ for (Resource resource : result) {
+ ResourceType type = resource.getResourceType();
+ if (type != null) {
+ typesSet.add(type.getId());
+ }
+ }
+
+ ResourceTypeRepository typeRepo = ResourceTypeRepository.Cache.getInstance();
+ typeRepo.getResourceTypes(typesSet.toArray(new Integer[typesSet.size()]), new
TypesLoadedCallback() {
+ @Override
+ public void onTypesLoaded(Map<Integer, ResourceType> types) {
+ Record[] records = buildRecords(result);
+ for (Record record : records) {
+ Integer typeId = record.getAttributeAsInt(TYPE.propertyName());
+ ResourceType type = types.get(typeId);
+ if (type != null) {
+ record.setAttribute(TYPE.propertyName(), type.getName());
+ }
+ }
+ 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) {
Show replies by date