From 9f11f52611a7acb60bd343af970aa16a712109f8 Mon Sep 17 00:00:00 2001 From: alena Date: Fri, 3 Dec 2010 12:30:13 -0800 Subject: [PATCH] listNetworks - don't return Networks created from systemOnly network offerings --- server/src/com/cloud/api/ApiDispatcher.java | 18 +++++++++--------- .../com/cloud/network/NetworkManagerImpl.java | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/server/src/com/cloud/api/ApiDispatcher.java b/server/src/com/cloud/api/ApiDispatcher.java index faf15d31f3f..080d82c2a38 100644 --- a/server/src/com/cloud/api/ApiDispatcher.java +++ b/server/src/com/cloud/api/ApiDispatcher.java @@ -68,19 +68,19 @@ public class ApiDispatcher { cmd.callCreate(); } catch (Throwable t) { if (t instanceof InvalidParameterValueException || t instanceof IllegalArgumentException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.PARAM_ERROR, t.getMessage()); }else if (t instanceof PermissionDeniedException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, t.getMessage()); }else if (t instanceof AccountLimitException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.ACCOUNT_RESOURCE_LIMIT_ERROR, t.getMessage()); }else if (t instanceof InsufficientCapacityException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, t.getMessage()); }else if (t instanceof ResourceAllocationException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.RESOURCE_ALLOCATION_ERROR, t.getMessage()); }else if (t instanceof ResourceUnavailableException) { s_logger.warn("Exception: ", t); @@ -106,16 +106,16 @@ public class ApiDispatcher { cmd.execute(); } catch (Throwable t) { if (t instanceof InvalidParameterValueException || t instanceof IllegalArgumentException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.PARAM_ERROR, t.getMessage()); }else if (t instanceof PermissionDeniedException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, t.getMessage()); }else if (t instanceof AccountLimitException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.ACCOUNT_RESOURCE_LIMIT_ERROR, t.getMessage()); }else if (t instanceof InsufficientCapacityException) { - s_logger.info("Exception: ", t); + s_logger.info(t.getMessage()); throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, t.getMessage()); }else if (t instanceof ResourceAllocationException) { s_logger.warn("Exception: ", t); diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 0c363ff33c6..ef0757415cb 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -71,6 +71,7 @@ import com.cloud.dc.dao.VlanDao; import com.cloud.deploy.DataCenterDeployment; import com.cloud.deploy.DeployDestination; import com.cloud.deploy.DeploymentPlan; +import com.cloud.domain.DomainVO; import com.cloud.domain.dao.DomainDao; import com.cloud.event.EventTypes; import com.cloud.event.EventUtils; @@ -2016,9 +2017,17 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag accountId = account.getId(); } - Filter searchFilter = new Filter(NetworkVO.class, "id", false, cmd.getStartIndex(), cmd.getPageSizeVal()); - SearchCriteria sc = _networkConfigDao.createSearchCriteria(); + SearchBuilder sb = _networkConfigDao.createSearchBuilder(); + + //Don't display networks created of system network offerings + SearchBuilder networkOfferingSearch = _networkOfferingDao.createSearchBuilder(); + networkOfferingSearch.and("systemOnly", networkOfferingSearch.entity().isSystemOnly(), SearchCriteria.Op.EQ); + sb.join("networkOfferingSearch", networkOfferingSearch, sb.entity().getNetworkOfferingId(), networkOfferingSearch.entity().getId(), JoinBuilder.JoinType.INNER); + + + SearchCriteria sc = sb.create(); + sc.setJoinParameters("networkOfferingSearch", "systemOnly", false); if (keyword != null) { SearchCriteria ssc = _networkConfigDao.createSearchCriteria(); @@ -2033,6 +2042,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag if (accountId != null) { sc.addAnd("accountId", SearchCriteria.Op.EQ, accountId); } + return _networkConfigDao.search(sc, searchFilter); }