Skip to content

Commit 465c513

Browse files
committed
Update search to include host tags
1 parent 693214d commit 465c513

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

server/src/main/java/com/cloud/api/query/QueryManagerImpl.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3068,17 +3068,20 @@ private Pair<List<ServiceOfferingJoinVO>, Integer> searchForServiceOfferingsInte
30683068

30693069
if (currentVmOffering != null) {
30703070
List<String> tags = StringUtils.csvTagsToList(currentVmOffering.getTags());
3071-
SearchBuilder<ServiceOfferingJoinVO> sb = _srvOfferingJoinDao.createSearchBuilder();
3072-
for(String tag: tags) {
3073-
sb.and(tag, sb.entity().getTags(), Op.FIND_IN_SET);
3074-
}
3075-
sb.done();
3071+
tags.addAll(StringUtils.csvTagsToList(currentVmOffering.getHostTag()));
3072+
if (!tags.isEmpty()) {
3073+
SearchBuilder<ServiceOfferingJoinVO> sb = _srvOfferingJoinDao.createSearchBuilder();
3074+
for(int i = 0; i < tags.size(); i++) {
3075+
sb.and(Integer.toString(i), sb.entity().getTags(), Op.FIND_IN_SET);
3076+
}
3077+
sb.done();
30763078

3077-
SearchCriteria<ServiceOfferingJoinVO> scc = sb.create();
3078-
for(String tag: tags) {
3079-
scc.setParameters(tag, tag);
3079+
SearchCriteria<ServiceOfferingJoinVO> scc = sb.create();
3080+
for(int i = 0; i < tags.size(); i++) {
3081+
scc.setParameters(Integer.toString(i), tags.get(i));
3082+
}
3083+
sc.addAnd("tags", SearchCriteria.Op.SC, scc);
30803084
}
3081-
sc.addAnd("tags", SearchCriteria.Op.SC, scc);
30823085
}
30833086

30843087
return _srvOfferingJoinDao.searchAndCount(sc, searchFilter);

0 commit comments

Comments
 (0)