mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
api/server: list networks by name (#11470)
* api/server: list networks by name * Update api/src/main/java/org/apache/cloudstack/api/command/user/network/ListNetworksCmd.java
This commit is contained in:
parent
0b9afe77ca
commit
162c45f8fa
@ -53,6 +53,9 @@ public class ListNetworksCmd extends BaseListRetrieveOnlyResourceCountCmd implem
|
|||||||
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = NetworkResponse.class, description = "list networks by ID")
|
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = NetworkResponse.class, description = "list networks by ID")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "list networks by name", since = "4.22.0")
|
||||||
|
private String name;
|
||||||
|
|
||||||
@Parameter(name = ApiConstants.ZONE_ID, type = CommandType.UUID, entityType = ZoneResponse.class, description = "the zone ID of the network")
|
@Parameter(name = ApiConstants.ZONE_ID, type = CommandType.UUID, entityType = ZoneResponse.class, description = "the zone ID of the network")
|
||||||
private Long zoneId;
|
private Long zoneId;
|
||||||
|
|
||||||
@ -125,6 +128,10 @@ public class ListNetworksCmd extends BaseListRetrieveOnlyResourceCountCmd implem
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
public Long getZoneId() {
|
public Long getZoneId() {
|
||||||
return zoneId;
|
return zoneId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2376,6 +2376,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
@Override
|
@Override
|
||||||
public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd cmd) {
|
public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd cmd) {
|
||||||
Long id = cmd.getId();
|
Long id = cmd.getId();
|
||||||
|
String name = cmd.getName();
|
||||||
String keyword = cmd.getKeyword();
|
String keyword = cmd.getKeyword();
|
||||||
Long zoneId = cmd.getZoneId();
|
Long zoneId = cmd.getZoneId();
|
||||||
Account caller = CallContext.current().getCallingAccount();
|
Account caller = CallContext.current().getCallingAccount();
|
||||||
@ -2554,7 +2555,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
|
|
||||||
Pair<List<NetworkVO>, Integer> result = new Pair<>(new ArrayList<>(), 0);
|
Pair<List<NetworkVO>, Integer> result = new Pair<>(new ArrayList<>(), 0);
|
||||||
if (BooleanUtils.isTrue(isSystem)) {
|
if (BooleanUtils.isTrue(isSystem)) {
|
||||||
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType, trafficType,
|
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, name, keyword, id, isSystem, zoneId, guestIpType, trafficType,
|
||||||
physicalNetworkId, networkOfferingId, null, restartRequired, specifyIpRanges,
|
physicalNetworkId, networkOfferingId, null, restartRequired, specifyIpRanges,
|
||||||
vpcId, tags, display, vlanId, associatedNetworkId);
|
vpcId, tags, display, vlanId, associatedNetworkId);
|
||||||
addProjectNetworksConditionToSearch(sc, true);
|
addProjectNetworksConditionToSearch(sc, true);
|
||||||
@ -2567,7 +2568,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
addSharedNetworksToSearch(additionalSC, sb, networkFilter, permittedAccounts, path, isRecursive);
|
addSharedNetworksToSearch(additionalSC, sb, networkFilter, permittedAccounts, path, isRecursive);
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(additionalSC.getValues())) {
|
if (CollectionUtils.isNotEmpty(additionalSC.getValues())) {
|
||||||
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType,
|
SearchCriteria<NetworkVO> sc = createNetworkSearchCriteria(sb, name, keyword, id, isSystem, zoneId, guestIpType,
|
||||||
trafficType, physicalNetworkId, networkOfferingId, aclType, restartRequired, specifyIpRanges, vpcId,
|
trafficType, physicalNetworkId, networkOfferingId, aclType, restartRequired, specifyIpRanges, vpcId,
|
||||||
tags, display, vlanId, associatedNetworkId);
|
tags, display, vlanId, associatedNetworkId);
|
||||||
sc.addAnd("id", SearchCriteria.Op.SC, additionalSC);
|
sc.addAnd("id", SearchCriteria.Op.SC, additionalSC);
|
||||||
@ -2680,7 +2681,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private SearchCriteria<NetworkVO> createNetworkSearchCriteria(SearchBuilder<NetworkVO> sb, String keyword, Long id,
|
private SearchCriteria<NetworkVO> createNetworkSearchCriteria(SearchBuilder<NetworkVO> sb, String name, String keyword, Long id,
|
||||||
Boolean isSystem, Long zoneId, String guestIpType, String trafficType, Long physicalNetworkId,
|
Boolean isSystem, Long zoneId, String guestIpType, String trafficType, Long physicalNetworkId,
|
||||||
Long networkOfferingId, String aclType, Boolean restartRequired,
|
Long networkOfferingId, String aclType, Boolean restartRequired,
|
||||||
Boolean specifyIpRanges, Long vpcId, Map<String, String> tags, Boolean display, String vlanId, Long associatedNetworkId) {
|
Boolean specifyIpRanges, Long vpcId, Map<String, String> tags, Boolean display, String vlanId, Long associatedNetworkId) {
|
||||||
@ -2691,6 +2692,10 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C
|
|||||||
sc.setJoinParameters("networkOfferingSearch", "systemOnly", isSystem);
|
sc.setJoinParameters("networkOfferingSearch", "systemOnly", isSystem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (name != null) {
|
||||||
|
sc.addAnd("name", SearchCriteria.Op.EQ, name);
|
||||||
|
}
|
||||||
|
|
||||||
if (keyword != null) {
|
if (keyword != null) {
|
||||||
SearchCriteria<NetworkVO> ssc = _networksDao.createSearchCriteria();
|
SearchCriteria<NetworkVO> ssc = _networksDao.createSearchCriteria();
|
||||||
ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
|
ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user