[rhq] Branch 'release/jon3.1.x' - modules/enterprise
John Sanda
jsanda at fedoraproject.org
Tue Aug 21 14:22:09 UTC 2012
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java | 21 +++++++---
1 file changed, 15 insertions(+), 6 deletions(-)
New commits:
commit 1031361a379cfc4490da70063c1eb83516684603
Author: John Sanda <jsanda at redhat.com>
Date: Mon Aug 20 11:39:51 2012 -0400
[BZ 850229] Only hide empty groups for availability queries/searches
This regression was introduced during the work for BZ 826493. While
testing the changes for this commit, I came across another, related
issue where an empty compatible group does not show up in the compatible
groups view. It does however show up in the mixed groups view. An empty
mixed group appears in the mixed group view. This issue is already
logged under BZ 708929.
Conflicts:
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java
index 45c5103..b05643f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupCompositeDataSource.java
@@ -26,7 +26,6 @@ import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGro
import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupDataSourceField.PLUGIN;
import static org.rhq.enterprise.gui.coregui.client.inventory.groups.ResourceGroupDataSourceField.TYPE;
-import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -48,6 +47,7 @@ import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
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.Messages;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.util.Log;
@@ -59,6 +59,8 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
*/
public class ResourceGroupCompositeDataSource extends RPCDataSource<ResourceGroupComposite, ResourceGroupCriteria> {
+ private static final Messages MSG = CoreGUI.getMessages();
+
public static final String FILTER_GROUP_IDS = "resourceGroupIds";
ResourceGroupGWTServiceAsync groupService = GWTServiceLookup.getResourceGroupService();
@@ -114,7 +116,7 @@ public class ResourceGroupCompositeDataSource extends RPCDataSource<ResourceGrou
new AsyncCallback<PageList<ResourceGroupComposite>>() {
public void onFailure(Throwable caught) {
if (caught.getMessage().contains("SearchExpressionException")) {
- Message message = new Message("Invalid search expression.", Message.Severity.Error);
+ Message message = new Message(MSG.search_invalid_search_expression(), Message.Severity.Error);
CoreGUI.getMessageCenter().notify(message);
} else {
CoreGUI.getErrorHandler().handleError(MSG.view_inventory_groups_loadFailed(), caught);
@@ -123,13 +125,16 @@ public class ResourceGroupCompositeDataSource extends RPCDataSource<ResourceGrou
processResponse(request.getRequestId(), response);
}
- private PageList<ResourceGroupComposite> filterEmptyMemberGroups(ResourceGroupCriteria groupCriteria,
- PageList<ResourceGroupComposite> result){
+ private PageList<ResourceGroupComposite> applyAvailabilitySearchFilter(
+ PageList<ResourceGroupComposite> result){
+ if (!isAvailabilitySearch(criteria)) {
+ return result;
+ }
PageList<ResourceGroupComposite> pageList = new PageList<ResourceGroupComposite>(result.getPageControl());
for (ResourceGroupComposite rgc : result) {
- if (rgc.getExplicitCount() > 0 ){
+ if (rgc.getExplicitCount() > 0) {
pageList.add(rgc);
}
}
@@ -138,7 +143,7 @@ public class ResourceGroupCompositeDataSource extends RPCDataSource<ResourceGrou
}
public void onSuccess(PageList<ResourceGroupComposite> result) {
- PageList<ResourceGroupComposite> filteredResult = filterEmptyMemberGroups(criteria,result);
+ PageList<ResourceGroupComposite> filteredResult = applyAvailabilitySearchFilter(result);
response.setData(buildRecords(filteredResult));
response.setTotalRows(filteredResult.getTotalSize()); // for paging to work we have to specify size of full result set
processResponse(request.getRequestId(), response);
@@ -146,6 +151,10 @@ public class ResourceGroupCompositeDataSource extends RPCDataSource<ResourceGrou
});
}
+ private boolean isAvailabilitySearch(ResourceGroupCriteria criteria) {
+ return criteria.getSearchExpression() != null && criteria.getSearchExpression().startsWith("availability");
+ }
+
@Override
protected ResourceGroupCriteria getFetchCriteria(final DSRequest request) {
ResourceGroupCriteria criteria = new ResourceGroupCriteria();
More information about the rhq-commits
mailing list