You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/07/31 19:26:07 UTC
git commit: Fixed listNetworks to return domain level networks when
listAll is passed to the request
Updated Branches:
refs/heads/master 907855007 -> 721d3ef3d
Fixed listNetworks to return domain level networks when listAll is passed to the request
Conflicts:
server/src/com/cloud/network/NetworkManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/721d3ef3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/721d3ef3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/721d3ef3
Branch: refs/heads/master
Commit: 721d3ef3dcd773d3e5b638f703e91456915393e6
Parents: 9078550
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Jul 31 10:20:40 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Jul 31 10:24:09 2012 -0700
----------------------------------------------------------------------
.../src/com/cloud/network/NetworkManagerImpl.java | 26 +++++++++++++--
1 files changed, 23 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/721d3ef3/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index 4dd5eab..77da24e 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -2842,12 +2842,16 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
networksToReturn.addAll(listAccountSpecificNetworks(
buildNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType, trafficType,
physicalNetworkId, aclType, skipProjectNetworks, restartRequired, specifyIpRanges, tags), searchFilter,
- permittedAccounts));
- } else if (domainId == null || listAll) {
+ permittedAccounts));
+ } else if (domainId == null) {
networksToReturn.addAll(listAccountSpecificNetworksByDomainPath(
buildNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType, trafficType,
physicalNetworkId, aclType, skipProjectNetworks, restartRequired, specifyIpRanges, tags), searchFilter, path,
- isRecursive));
+ isRecursive));
+ networksToReturn.addAll(listDomainSpecificNetworksByDomainPath(
+ buildNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId, guestIpType, trafficType,
+ physicalNetworkId, aclType, skipProjectNetworks, restartRequired, specifyIpRanges, tags), searchFilter, path,
+ isRecursive));
}
} else {
networksToReturn = _networksDao.search(buildNetworkSearchCriteria(sb, keyword, id, isSystem, zoneId,
@@ -3023,6 +3027,22 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
sc.addAnd("id", SearchCriteria.Op.SC, accountSC);
return _networksDao.search(sc, searchFilter);
}
+
+ private List<NetworkVO> listDomainSpecificNetworksByDomainPath(SearchCriteria<NetworkVO> sc, Filter searchFilter, String path, boolean isRecursive) {
+ SearchCriteria<NetworkVO> accountSC = _networksDao.createSearchCriteria();
+ accountSC.addAnd("aclType", SearchCriteria.Op.EQ, ACLType.Domain.toString());
+
+ if (path != null) {
+ if (isRecursive) {
+ sc.setJoinParameters("domainSearch", "path", path + "%");
+ } else {
+ sc.setJoinParameters("domainSearch", "path", path);
+ }
+ }
+
+ sc.addAnd("id", SearchCriteria.Op.SC, accountSC);
+ return _networksDao.search(sc, searchFilter);
+ }
@Override
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_DELETE, eventDescription = "deleting network", async = true)