mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge remote-tracking branch 'origin/4.15' into main
This commit is contained in:
commit
0facba9372
@ -2174,7 +2174,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||||||
_accountMgr.buildACLSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
|
_accountMgr.buildACLSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
buildParameters(sb, cmd);
|
buildParameters(sb, cmd, vlanType == VlanType.VirtualNetwork ? true : isAllocated);
|
||||||
|
|
||||||
SearchCriteria<IPAddressVO> sc = sb.create();
|
SearchCriteria<IPAddressVO> sc = sb.create();
|
||||||
setParameters(sc, cmd, vlanType);
|
setParameters(sc, cmd, vlanType);
|
||||||
@ -2236,7 +2236,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||||||
}
|
}
|
||||||
if (freeAddrIds.size() > 0) {
|
if (freeAddrIds.size() > 0) {
|
||||||
final SearchBuilder<IPAddressVO> sb2 = _publicIpAddressDao.createSearchBuilder();
|
final SearchBuilder<IPAddressVO> sb2 = _publicIpAddressDao.createSearchBuilder();
|
||||||
buildParameters(sb2, cmd);
|
buildParameters(sb2, cmd, false);
|
||||||
sb2.and("ids", sb2.entity().getId(), SearchCriteria.Op.IN);
|
sb2.and("ids", sb2.entity().getId(), SearchCriteria.Op.IN);
|
||||||
|
|
||||||
SearchCriteria<IPAddressVO> sc2 = sb2.create();
|
SearchCriteria<IPAddressVO> sc2 = sb2.create();
|
||||||
@ -2244,6 +2244,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||||||
sc2.setParameters("ids", freeAddrIds.toArray());
|
sc2.setParameters("ids", freeAddrIds.toArray());
|
||||||
addrs.addAll(_publicIpAddressDao.search(sc2, searchFilter)); // Allocated + Free
|
addrs.addAll(_publicIpAddressDao.search(sc2, searchFilter)); // Allocated + Free
|
||||||
}
|
}
|
||||||
|
Collections.sort(addrs, Comparator.comparing(IPAddressVO::getAddress));
|
||||||
List<? extends IpAddress> wPagination = com.cloud.utils.StringUtils.applyPagination(addrs, cmd.getStartIndex(), cmd.getPageSizeVal());
|
List<? extends IpAddress> wPagination = com.cloud.utils.StringUtils.applyPagination(addrs, cmd.getStartIndex(), cmd.getPageSizeVal());
|
||||||
if (wPagination != null) {
|
if (wPagination != null) {
|
||||||
return new Pair<List<? extends IpAddress>, Integer>(wPagination, addrs.size());
|
return new Pair<List<? extends IpAddress>, Integer>(wPagination, addrs.size());
|
||||||
@ -2251,11 +2252,10 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||||||
return new Pair<>(addrs, addrs.size());
|
return new Pair<>(addrs, addrs.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buildParameters(final SearchBuilder<IPAddressVO> sb, final ListPublicIpAddressesCmd cmd) {
|
private void buildParameters(final SearchBuilder<IPAddressVO> sb, final ListPublicIpAddressesCmd cmd, final Boolean isAllocated) {
|
||||||
final Object keyword = cmd.getKeyword();
|
final Object keyword = cmd.getKeyword();
|
||||||
final String address = cmd.getIpAddress();
|
final String address = cmd.getIpAddress();
|
||||||
final Boolean forLoadBalancing = cmd.isForLoadBalancing();
|
final Boolean forLoadBalancing = cmd.isForLoadBalancing();
|
||||||
Boolean isAllocated = cmd.isAllocatedOnly();
|
|
||||||
final Map<String, String> tags = cmd.getTags();
|
final Map<String, String> tags = cmd.getTags();
|
||||||
|
|
||||||
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
|
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user