You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pr...@apache.org on 2014/01/09 03:00:27 UTC
git commit: updated refs/heads/4.3 to ce9760f
Updated Branches:
refs/heads/4.3 02f6e02a7 -> ce9760f4c
CLOUDSTACK-5732 [UI] Search is not working in Affinity Groups panel
- Added keyword support
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ce9760f4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ce9760f4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ce9760f4
Branch: refs/heads/4.3
Commit: ce9760f4ce9cc0b718e94836b9f1309ed3773c7f
Parents: 02f6e02
Author: Prachi Damle <pr...@cloud.com>
Authored: Wed Jan 8 17:58:53 2014 -0800
Committer: Prachi Damle <pr...@cloud.com>
Committed: Wed Jan 8 17:59:23 2014 -0800
----------------------------------------------------------------------
.../affinitygroup/ListAffinityGroupsCmd.java | 2 +-
.../apache/cloudstack/query/QueryService.java | 2 +-
.../com/cloud/api/query/QueryManagerImpl.java | 24 +++++++++++++-------
3 files changed, 18 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce9760f4/api/src/org/apache/cloudstack/api/command/user/affinitygroup/ListAffinityGroupsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/affinitygroup/ListAffinityGroupsCmd.java b/api/src/org/apache/cloudstack/api/command/user/affinitygroup/ListAffinityGroupsCmd.java
index 40ba715..fb78f33 100644
--- a/api/src/org/apache/cloudstack/api/command/user/affinitygroup/ListAffinityGroupsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/affinitygroup/ListAffinityGroupsCmd.java
@@ -78,7 +78,7 @@ public class ListAffinityGroupsCmd extends BaseListAccountResourcesCmd {
ListResponse<AffinityGroupResponse> response = _queryService.listAffinityGroups(id, affinityGroupName,
affinityGroupType, virtualMachineId, this.getAccountName(), this.getDomainId(), this.isRecursive(),
- this.listAll(), this.getStartIndex(), this.getPageSizeVal());
+ this.listAll(), this.getStartIndex(), this.getPageSizeVal(), this.getKeyword());
response.setResponseName(getCommandName());
this.setResponseObject(response);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce9760f4/api/src/org/apache/cloudstack/query/QueryService.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/query/QueryService.java b/api/src/org/apache/cloudstack/query/QueryService.java
index 4a9e218..81c0157 100644
--- a/api/src/org/apache/cloudstack/query/QueryService.java
+++ b/api/src/org/apache/cloudstack/query/QueryService.java
@@ -98,7 +98,7 @@ public interface QueryService {
public ListResponse<TemplateResponse> listIsos(ListIsosCmd cmd);
public ListResponse<AffinityGroupResponse> listAffinityGroups(Long affinityGroupId, String affinityGroupName,
String affinityGroupType, Long vmId, String accountName, Long domainId, boolean isRecursive,
- boolean listAll, Long startIndex, Long pageSize);
+ boolean listAll, Long startIndex, Long pageSize, String keyword);
public List<ResourceDetailResponse> listResourceDetails(ListResourceDetailsCmd cmd);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ce9760f4/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 9045550..a24b3b4 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -3138,10 +3138,10 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
@Override
public ListResponse<AffinityGroupResponse> listAffinityGroups(Long affinityGroupId, String affinityGroupName,
String affinityGroupType, Long vmId, String accountName, Long domainId, boolean isRecursive,
- boolean listAll, Long startIndex, Long pageSize) {
+ boolean listAll, Long startIndex, Long pageSize, String keyword) {
Pair<List<AffinityGroupJoinVO>, Integer> result = listAffinityGroupsInternal(affinityGroupId,
affinityGroupName, affinityGroupType, vmId, accountName, domainId, isRecursive, listAll, startIndex,
- pageSize);
+ pageSize, keyword);
ListResponse<AffinityGroupResponse> response = new ListResponse<AffinityGroupResponse>();
List<AffinityGroupResponse> agResponses = ViewResponseHelper.createAffinityGroupResponses(result.first());
response.setResponses(agResponses, result.second());
@@ -3150,7 +3150,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
public Pair<List<AffinityGroupJoinVO>, Integer> listAffinityGroupsInternal(Long affinityGroupId,
String affinityGroupName, String affinityGroupType, Long vmId, String accountName, Long domainId,
- boolean isRecursive, boolean listAll, Long startIndex, Long pageSize) {
+ boolean isRecursive, boolean listAll, Long startIndex, Long pageSize, String keyword) {
Account caller = CallContext.current().getCallingAccount();
@@ -3177,7 +3177,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
Filter searchFilter = new Filter(AffinityGroupJoinVO.class, "id", true, startIndex, pageSize);
SearchCriteria<AffinityGroupJoinVO> sc = buildAffinityGroupSearchCriteria(domainId, isRecursive,
- permittedAccounts, listProjectResourcesCriteria, affinityGroupId, affinityGroupName, affinityGroupType);
+ permittedAccounts, listProjectResourcesCriteria, affinityGroupId, affinityGroupName, affinityGroupType, keyword);
Pair<List<AffinityGroupJoinVO>, Integer> uniqueGroupsPair = _affinityGroupJoinDao.searchAndCount(sc,
searchFilter);
@@ -3199,7 +3199,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
if (domainId != null) {
SearchCriteria<AffinityGroupJoinVO> scDomain = buildAffinityGroupSearchCriteria(null, isRecursive,
new ArrayList<Long>(), listProjectResourcesCriteria, affinityGroupId, affinityGroupName,
- affinityGroupType);
+ affinityGroupType, keyword);
vrs.addAll(listDomainLevelAffinityGroups(scDomain, searchFilter, domainId));
} else {
@@ -3207,7 +3207,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
Account permittedAcct = _accountDao.findById(permAcctId);
SearchCriteria<AffinityGroupJoinVO> scDomain = buildAffinityGroupSearchCriteria(
null, isRecursive, new ArrayList<Long>(),
- listProjectResourcesCriteria, affinityGroupId, affinityGroupName, affinityGroupType);
+ listProjectResourcesCriteria, affinityGroupId, affinityGroupName, affinityGroupType, keyword);
vrs.addAll(listDomainLevelAffinityGroups(scDomain, searchFilter, permittedAcct.getDomainId()));
}
@@ -3216,7 +3216,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
// list all domain level affinity groups for the domain admin case
SearchCriteria<AffinityGroupJoinVO> scDomain = buildAffinityGroupSearchCriteria(null, isRecursive,
new ArrayList<Long>(), listProjectResourcesCriteria, affinityGroupId, affinityGroupName,
- affinityGroupType);
+ affinityGroupType, keyword);
vrs.addAll(listDomainLevelAffinityGroups(scDomain, searchFilter, domainId));
}
@@ -3226,7 +3226,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
private SearchCriteria<AffinityGroupJoinVO> buildAffinityGroupSearchCriteria(Long domainId, boolean isRecursive,
List<Long> permittedAccounts, ListProjectResourcesCriteria listProjectResourcesCriteria,
- Long affinityGroupId, String affinityGroupName, String affinityGroupType) {
+ Long affinityGroupId, String affinityGroupName, String affinityGroupType, String keyword) {
SearchBuilder<AffinityGroupJoinVO> groupSearch = _affinityGroupJoinDao.createSearchBuilder();
_accountMgr.buildACLViewSearchBuilder(groupSearch, domainId, isRecursive, permittedAccounts,
@@ -3251,6 +3251,14 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sc.addAnd("type", SearchCriteria.Op.EQ, affinityGroupType);
}
+ if (keyword != null) {
+ SearchCriteria<AffinityGroupJoinVO> ssc = _affinityGroupJoinDao.createSearchCriteria();
+ ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
+ ssc.addOr("type", SearchCriteria.Op.LIKE, "%" + keyword + "%");
+
+ sc.addAnd("name", SearchCriteria.Op.SC, ssc);
+ }
+
return sc;
}