From 92269d2636de588bd27880790bbbcd98629b7f3c Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Sat, 1 Aug 2015 22:12:34 +0530 Subject: [PATCH] quota: fixing warped up db --- .../cloudstack/quota/dao/QuotaAccountDao.java | 6 ++++ .../quota/dao/QuotaAccountDaoImpl.java | 31 +++++++++++++++++++ .../cloudstack/quota/vo/QuotaAccountVO.java | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDao.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDao.java index bca09ede000..efa07bf145a 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDao.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDao.java @@ -22,4 +22,10 @@ import com.cloud.utils.db.GenericDao; public interface QuotaAccountDao extends GenericDao { + QuotaAccountVO findById(Long id); + + QuotaAccountVO persist(QuotaAccountVO entity); + + boolean update(Long id, QuotaAccountVO entity); + } diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java index 04b8a8bc047..a59ac8980a4 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java @@ -22,9 +22,40 @@ import org.apache.cloudstack.quota.vo.QuotaAccountVO; import org.springframework.stereotype.Component; import com.cloud.utils.db.GenericDaoBase; +import com.cloud.utils.db.TransactionLegacy; @Component @Local(value = { QuotaAccountDao.class }) public class QuotaAccountDaoImpl extends GenericDaoBase implements QuotaAccountDao { + @Override + public QuotaAccountVO findById(Long id){ + QuotaAccountVO result=null; + final short opendb = TransactionLegacy.currentTxn().getDatabaseId(); + TransactionLegacy.open(TransactionLegacy.USAGE_DB).close(); + result = findById(id); + TransactionLegacy.open(opendb).close(); + return result; + } + + @Override + public QuotaAccountVO persist(QuotaAccountVO entity){ + QuotaAccountVO result=null; + final short opendb = TransactionLegacy.currentTxn().getDatabaseId(); + TransactionLegacy.open(TransactionLegacy.USAGE_DB).close(); + result = persist(entity); + TransactionLegacy.open(opendb).close(); + return result; + } + + @Override + public boolean update(Long id, QuotaAccountVO entity){ + boolean result=false; + final short opendb = TransactionLegacy.currentTxn().getDatabaseId(); + TransactionLegacy.open(TransactionLegacy.USAGE_DB).close(); + result=update(id, entity); + TransactionLegacy.open(opendb).close(); + return result; + } + } diff --git a/framework/quota/src/org/apache/cloudstack/quota/vo/QuotaAccountVO.java b/framework/quota/src/org/apache/cloudstack/quota/vo/QuotaAccountVO.java index 00fded0d74d..f2159b0f45e 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/vo/QuotaAccountVO.java +++ b/framework/quota/src/org/apache/cloudstack/quota/vo/QuotaAccountVO.java @@ -29,7 +29,7 @@ import java.math.BigDecimal; import java.util.Date; @Entity -@Table(name = "quota_balance") +@Table(name = "quota_account") public class QuotaAccountVO implements InternalIdentity { private static final long serialVersionUID = -7112846845287653210L;