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") | ||||
|     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") | ||||
|     private Long zoneId; | ||||
| 
 | ||||
| @ -125,6 +128,10 @@ public class ListNetworksCmd extends BaseListRetrieveOnlyResourceCountCmd implem | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public String getName() { | ||||
|         return name; | ||||
|     } | ||||
| 
 | ||||
|     public Long getZoneId() { | ||||
|         return zoneId; | ||||
|     } | ||||
|  | ||||
| @ -2376,6 +2376,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C | ||||
|     @Override | ||||
|     public Pair<List<? extends Network>, Integer> searchForNetworks(ListNetworksCmd cmd) { | ||||
|         Long id = cmd.getId(); | ||||
|         String name = cmd.getName(); | ||||
|         String keyword = cmd.getKeyword(); | ||||
|         Long zoneId = cmd.getZoneId(); | ||||
|         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); | ||||
|         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, | ||||
|                     vpcId, tags, display, vlanId, associatedNetworkId); | ||||
|             addProjectNetworksConditionToSearch(sc, true); | ||||
| @ -2567,7 +2568,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C | ||||
|             addSharedNetworksToSearch(additionalSC, sb, networkFilter, permittedAccounts, path, isRecursive); | ||||
| 
 | ||||
|             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, | ||||
|                         tags, display, vlanId, associatedNetworkId); | ||||
|                 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, | ||||
|                                                                  Long networkOfferingId, String aclType, Boolean restartRequired, | ||||
|                                                                  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); | ||||
|         } | ||||
| 
 | ||||
|         if (name != null) { | ||||
|             sc.addAnd("name", SearchCriteria.Op.EQ, name); | ||||
|         } | ||||
| 
 | ||||
|         if (keyword != null) { | ||||
|             SearchCriteria<NetworkVO> ssc = _networksDao.createSearchCriteria(); | ||||
|             ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user