From 3127acde938c03611dcaacb0c97dd5690b801920 Mon Sep 17 00:00:00 2001 From: alena Date: Mon, 13 Jun 2011 09:51:30 -0700 Subject: [PATCH] bug 10233: listNetworks - don't default isSystem=false when id parameter is specified status 10233: resolved fixed --- .../src/com/cloud/network/NetworkManagerImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index be800fea569..403f2befdfa 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1774,7 +1774,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag //1) default is system to false if not specified //2) reset parameter to false if it's specified by the regular user - if (isSystem == null || caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if ((isSystem == null || caller.getType() == Account.ACCOUNT_TYPE_NORMAL) && id == null) { isSystem = false; } @@ -1811,7 +1811,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag accountId = caller.getId(); } - if (!isSystem && (isShared == null || isShared)) { + if ((isSystem == null || !isSystem) && (isShared == null || isShared)) { if (domainId == null) { sharedNetworkDomainId = caller.getDomainId(); } else { @@ -1825,7 +1825,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag // Don't display networks created of system network offerings SearchBuilder networkOfferingSearch = _networkOfferingDao.createSearchBuilder(); networkOfferingSearch.and("systemOnly", networkOfferingSearch.entity().isSystemOnly(), SearchCriteria.Op.EQ); - if (isSystem) { + if (isSystem != null && isSystem) { networkOfferingSearch.and("trafficType", networkOfferingSearch.entity().getTrafficType(), SearchCriteria.Op.EQ); } sb.join("networkOfferingSearch", networkOfferingSearch, sb.entity().getNetworkOfferingId(), networkOfferingSearch.entity().getId(), JoinBuilder.JoinType.INNER); @@ -1862,9 +1862,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } } - private SearchCriteria buildNetworkSearchCriteria(SearchBuilder sb, String keyword, Long id, boolean isSystem, Long zoneId, String type, Boolean isDefault, String trafficType, Boolean isShared) { + private SearchCriteria buildNetworkSearchCriteria(SearchBuilder sb, String keyword, Long id, Boolean isSystem, Long zoneId, String type, Boolean isDefault, String trafficType, Boolean isShared) { SearchCriteria sc = sb.create(); - sc.setJoinParameters("networkOfferingSearch", "systemOnly", isSystem); + + if (isSystem != null) { + sc.setJoinParameters("networkOfferingSearch", "systemOnly", isSystem); + } if (keyword != null) { SearchCriteria ssc = _networksDao.createSearchCriteria();