Skip to content

Commit c65042d

Browse files
committed
propagate sort order through retrieval sequence
1 parent 0204cb7 commit c65042d

3 files changed

Lines changed: 19 additions & 12 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3639,7 +3639,7 @@ private List<Long> findRelatedDomainIds(Domain domain, boolean isRecursive) {
36393639
public ListResponse<ServiceOfferingResponse> searchForServiceOfferings(ListServiceOfferingsCmd cmd) {
36403640
Pair<List<ServiceOfferingJoinVO>, Integer> result = searchForServiceOfferingsInternal(cmd);
36413641
result.first();
3642-
ListResponse<ServiceOfferingResponse> response = new ListResponse<ServiceOfferingResponse>();
3642+
ListResponse<ServiceOfferingResponse> response = new ListResponse<>();
36433643
List<ServiceOfferingResponse> offeringResponses = ViewResponseHelper.createServiceOfferingResponse(result.first().toArray(new ServiceOfferingJoinVO[result.first().size()]));
36443644
response.setResponses(offeringResponses, result.second());
36453645
return response;

server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDao.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,6 @@ public interface ServiceOfferingJoinDao extends GenericDao<ServiceOfferingJoinVO
3434
ServiceOfferingJoinVO newServiceOfferingView(ServiceOffering offering);
3535

3636
Map<Long, List<String>> listDomainsOfServiceOfferingsUsedByDomainPath(String domainPath);
37+
3738
List<ServiceOfferingJoinVO> searchByIds(Long... id);
3839
}

server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,8 @@
2525
import java.util.List;
2626
import java.util.Map;
2727

28-
import com.cloud.dc.VsphereStoragePolicyVO;
29-
import com.cloud.dc.dao.VsphereStoragePolicyDao;
30-
import com.cloud.user.AccountManager;
31-
import com.cloud.utils.db.TransactionLegacy;
3228
import org.apache.cloudstack.annotation.AnnotationService;
3329
import org.apache.cloudstack.annotation.dao.AnnotationDao;
34-
import com.cloud.storage.DiskOfferingVO;
3530
import org.apache.cloudstack.api.ApiConstants;
3631
import org.apache.cloudstack.api.response.ServiceOfferingResponse;
3732
import org.apache.cloudstack.context.CallContext;
@@ -41,14 +36,22 @@
4136

4237
import com.cloud.api.ApiDBUtils;
4338
import com.cloud.api.query.vo.ServiceOfferingJoinVO;
39+
import com.cloud.dc.VsphereStoragePolicyVO;
40+
import com.cloud.dc.dao.VsphereStoragePolicyDao;
4441
import com.cloud.offering.ServiceOffering;
4542
import com.cloud.server.ResourceTag.ResourceObjectType;
43+
import com.cloud.storage.DiskOfferingVO;
44+
import com.cloud.user.AccountManager;
4645
import com.cloud.utils.db.GenericDaoBase;
46+
import com.cloud.utils.db.Filter;
4747
import com.cloud.utils.db.SearchBuilder;
4848
import com.cloud.utils.db.SearchCriteria;
49+
import com.cloud.utils.db.TransactionLegacy;
4950

5051
import javax.inject.Inject;
5152

53+
import static org.apache.cloudstack.query.QueryService.SortKeyAscending;
54+
5255
@Component
5356
public class ServiceOfferingJoinDaoImpl extends GenericDaoBase<ServiceOfferingJoinVO, Long> implements ServiceOfferingJoinDao {
5457
public static final Logger s_logger = Logger.getLogger(ServiceOfferingJoinDaoImpl.class);
@@ -230,6 +233,9 @@ public Map<Long, List<String>> listDomainsOfServiceOfferingsUsedByDomainPath(Str
230233

231234
@Override
232235
public List<ServiceOfferingJoinVO> searchByIds(Long... offeringIds) {
236+
Filter searchFilter = new Filter(ServiceOfferingJoinVO.class, "sortKey", SortKeyAscending.value());
237+
searchFilter.addOrderBy(ServiceOfferingJoinVO.class, "id", true);
238+
233239
// set detail batch query size
234240
int DETAILS_BATCH_SIZE = 2000;
235241
String batchCfg = configDao.getValue("detail.batch.query.size");
@@ -248,9 +254,9 @@ public List<ServiceOfferingJoinVO> searchByIds(Long... offeringIds) {
248254
}
249255
SearchCriteria<ServiceOfferingJoinVO> sc = srvOfferingSearch.create();
250256
sc.setParameters("idIN", ids);
251-
List<ServiceOfferingJoinVO> accounts = searchIncludingRemoved(sc, null, null, false);
252-
if (accounts != null) {
253-
uvList.addAll(accounts);
257+
List<ServiceOfferingJoinVO> offerings = searchIncludingRemoved(sc, searchFilter, null, false);
258+
if (offerings != null) {
259+
uvList.addAll(offerings);
254260
}
255261
curr_index += DETAILS_BATCH_SIZE;
256262
}
@@ -264,9 +270,9 @@ public List<ServiceOfferingJoinVO> searchByIds(Long... offeringIds) {
264270
}
265271
SearchCriteria<ServiceOfferingJoinVO> sc = srvOfferingSearch.create();
266272
sc.setParameters("idIN", ids);
267-
List<ServiceOfferingJoinVO> accounts = searchIncludingRemoved(sc, null, null, false);
268-
if (accounts != null) {
269-
uvList.addAll(accounts);
273+
List<ServiceOfferingJoinVO> offerings = searchIncludingRemoved(sc, searchFilter, null, false);
274+
if (offerings != null) {
275+
uvList.addAll(offerings);
270276
}
271277
}
272278
return uvList;

0 commit comments

Comments
 (0)