You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2015/09/23 14:00:14 UTC
[4/9] git commit: updated refs/heads/master to a0f8f56
Added countIPs(long dcId, boolean onlyCountAllocated) to IPAddressDao and IPAddressDaoImpl.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/12fc2b4c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/12fc2b4c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/12fc2b4c
Branch: refs/heads/master
Commit: 12fc2b4c26145721622b34f1a4f40d4e06faea93
Parents: 473f193
Author: Boris Schrijver <bo...@pcextreme.nl>
Authored: Wed Sep 16 22:15:53 2015 +0200
Committer: Boris Schrijver <bo...@pcextreme.nl>
Committed: Wed Sep 16 22:15:53 2015 +0200
----------------------------------------------------------------------
.../src/com/cloud/network/dao/IPAddressDao.java | 2 ++
.../src/com/cloud/network/dao/IPAddressDaoImpl.java | 15 +++++++++++++++
2 files changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/12fc2b4c/engine/schema/src/com/cloud/network/dao/IPAddressDao.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/dao/IPAddressDao.java b/engine/schema/src/com/cloud/network/dao/IPAddressDao.java
index cb07656..fbf5c57 100644
--- a/engine/schema/src/com/cloud/network/dao/IPAddressDao.java
+++ b/engine/schema/src/com/cloud/network/dao/IPAddressDao.java
@@ -40,6 +40,8 @@ public interface IPAddressDao extends GenericDao<IPAddressVO, Long> {
List<IPAddressVO> listStaticNatPublicIps(long networkId);
+ int countIPs(long dcId, boolean onlyCountAllocated);
+
int countIPs(long dcId, long vlanDbId, boolean onlyCountAllocated);
int countIPs(long dcId, Long accountId, String vlanId, String vlanGateway, String vlanNetmask);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/12fc2b4c/engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java b/engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java
index 5122876..5c8b9b1 100644
--- a/engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java
+++ b/engine/schema/src/com/cloud/network/dao/IPAddressDaoImpl.java
@@ -56,6 +56,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
protected SearchBuilder<IPAddressVO> VlanDbIdSearchUnallocated;
protected GenericSearchBuilder<IPAddressVO, Integer> AllIpCount;
protected GenericSearchBuilder<IPAddressVO, Integer> AllocatedIpCount;
+ protected GenericSearchBuilder<IPAddressVO, Integer> AllocatedIpCountForDc;
protected GenericSearchBuilder<IPAddressVO, Integer> AllIpCountForDashboard;
protected SearchBuilder<IPAddressVO> DeleteAllExceptGivenIp;
protected GenericSearchBuilder<IPAddressVO, Long> AllocatedIpCountForAccount;
@@ -107,6 +108,12 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
AllocatedIpCount.and("allocated", AllocatedIpCount.entity().getAllocatedTime(), Op.NNULL);
AllocatedIpCount.done();
+ AllocatedIpCountForDc = createSearchBuilder(Integer.class);
+ AllocatedIpCountForDc.select(null, Func.COUNT, AllocatedIpCountForDc.entity().getAddress());
+ AllocatedIpCountForDc.and("dc", AllocatedIpCountForDc.entity().getDataCenterId(), Op.EQ);
+ AllocatedIpCountForDc.and("allocated", AllocatedIpCountForDc.entity().getAllocatedTime(), Op.NNULL);
+ AllocatedIpCountForDc.done();
+
AllIpCountForDashboard = createSearchBuilder(Integer.class);
AllIpCountForDashboard.select(null, Func.COUNT, AllIpCountForDashboard.entity().getAddress());
AllIpCountForDashboard.and("dc", AllIpCountForDashboard.entity().getDataCenterId(), Op.EQ);
@@ -282,6 +289,14 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
}
@Override
+ public int countIPs(long dcId, boolean onlyCountAllocated) {
+ SearchCriteria<Integer> sc = onlyCountAllocated ? AllocatedIpCount.create() : AllIpCount.create();
+ sc.setParameters("dc", dcId);
+
+ return customSearch(sc, null).get(0);
+ }
+
+ @Override
public int countIPs(long dcId, long vlanId, boolean onlyCountAllocated) {
SearchCriteria<Integer> sc = onlyCountAllocated ? AllocatedIpCount.create() : AllIpCount.create();
sc.setParameters("dc", dcId);