@@ -1158,6 +1158,7 @@ public List<? extends Network> searchForNetworks(ListNetworksCmd cmd) {
11581158 Long id = cmd .getId ();
11591159 String keyword = cmd .getKeyword ();
11601160 Long zoneId = cmd .getZoneId ();
1161+ String zoneType = cmd .getZoneType ();
11611162 Account caller = UserContext .current ().getCaller ();
11621163 Long domainId = cmd .getDomainId ();
11631164 String accountName = cmd .getAccountName ();
@@ -1306,39 +1307,39 @@ public List<? extends Network> searchForNetworks(ListNetworksCmd cmd) {
13061307 //get account level networks
13071308 networksToReturn .addAll (listAccountSpecificNetworks (
13081309 buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId , guestIpType , trafficType ,
1309- physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags ), searchFilter ,
1310+ physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags , zoneType ), searchFilter ,
13101311 permittedAccounts ));
13111312 //get domain level networks
13121313 if (domainId != null ) {
13131314 networksToReturn
13141315 .addAll (listDomainLevelNetworks (
13151316 buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId , guestIpType , trafficType ,
1316- physicalNetworkId , aclType , true , restartRequired , specifyIpRanges , vpcId , tags ), searchFilter ,
1317+ physicalNetworkId , aclType , true , restartRequired , specifyIpRanges , vpcId , tags , zoneType ), searchFilter ,
13171318 domainId , false ));
13181319 }
13191320 } else {
13201321 //add account specific networks
13211322 networksToReturn .addAll (listAccountSpecificNetworksByDomainPath (
13221323 buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId , guestIpType , trafficType ,
1323- physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags ), searchFilter , path ,
1324+ physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags , zoneType ), searchFilter , path ,
13241325 isRecursive ));
13251326 //add domain specific networks of domain + parent domains
13261327 networksToReturn .addAll (listDomainSpecificNetworksByDomainPath (
13271328 buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId , guestIpType , trafficType ,
1328- physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags ), searchFilter , path ,
1329+ physicalNetworkId , aclType , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags , zoneType ), searchFilter , path ,
13291330 isRecursive ));
13301331 //add networks of subdomains
13311332 if (domainId == null ) {
13321333 networksToReturn
13331334 .addAll (listDomainLevelNetworks (
13341335 buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId , guestIpType , trafficType ,
1335- physicalNetworkId , aclType , true , restartRequired , specifyIpRanges , vpcId , tags ), searchFilter ,
1336+ physicalNetworkId , aclType , true , restartRequired , specifyIpRanges , vpcId , tags , zoneType ), searchFilter ,
13361337 caller .getDomainId (), true ));
13371338 }
13381339 }
13391340 } else {
13401341 networksToReturn = _networksDao .search (buildNetworkSearchCriteria (sb , keyword , id , isSystem , zoneId ,
1341- guestIpType , trafficType , physicalNetworkId , null , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags ),
1342+ guestIpType , trafficType , physicalNetworkId , null , skipProjectNetworks , restartRequired , specifyIpRanges , vpcId , tags , zoneType ),
13421343 searchFilter );
13431344 }
13441345
@@ -1383,7 +1384,7 @@ public List<? extends Network> searchForNetworks(ListNetworksCmd cmd) {
13831384
13841385 private SearchCriteria <NetworkVO > buildNetworkSearchCriteria (SearchBuilder <NetworkVO > sb , String keyword , Long id ,
13851386 Boolean isSystem , Long zoneId , String guestIpType , String trafficType , Long physicalNetworkId ,
1386- String aclType , boolean skipProjectNetworks , Boolean restartRequired , Boolean specifyIpRanges , Long vpcId , Map <String , String > tags ) {
1387+ String aclType , boolean skipProjectNetworks , Boolean restartRequired , Boolean specifyIpRanges , Long vpcId , Map <String , String > tags , String zoneType ) {
13871388
13881389 SearchCriteria <NetworkVO > sc = sb .create ();
13891390
@@ -1405,6 +1406,10 @@ private SearchCriteria<NetworkVO> buildNetworkSearchCriteria(SearchBuilder<Netwo
14051406 sc .addAnd ("dataCenterId" , SearchCriteria .Op .EQ , zoneId );
14061407 }
14071408
1409+ if (zoneType != null ) {
1410+ sc .setJoinParameters ("zoneSearch" , "networkType" , zoneType );
1411+ }
1412+
14081413 if (guestIpType != null ) {
14091414 sc .addAnd ("guestType" , SearchCriteria .Op .EQ , guestIpType );
14101415 }
0 commit comments