Details
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/AnalyticsDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/AnalyticsDao.java
index fb038a6..66a8a26 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/AnalyticsDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/AnalyticsDao.java
@@ -16,9 +16,12 @@
package com.ning.billing.analytics.dao;
+import com.ning.billing.analytics.model.BusinessAccount;
import com.ning.billing.analytics.model.BusinessInvoice;
import com.ning.billing.analytics.model.BusinessInvoiceItem;
public interface AnalyticsDao {
+ BusinessAccount getAccountByKey(final String accountKey);
+
void createInvoice(final String accountKey, final BusinessInvoice invoice, final Iterable<BusinessInvoiceItem> invoiceItems);
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/DefaultAnalyticsDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/DefaultAnalyticsDao.java
index db18c9f..87da400 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/DefaultAnalyticsDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/DefaultAnalyticsDao.java
@@ -28,14 +28,21 @@ import com.ning.billing.analytics.model.BusinessInvoice;
import com.ning.billing.analytics.model.BusinessInvoiceItem;
public class DefaultAnalyticsDao implements AnalyticsDao {
+ private final BusinessAccountSqlDao accountSqlDao;
private final BusinessInvoiceSqlDao invoiceSqlDao;
@Inject
- public DefaultAnalyticsDao(final BusinessInvoiceSqlDao invoiceSqlDao) {
+ public DefaultAnalyticsDao(final BusinessAccountSqlDao accountSqlDao, final BusinessInvoiceSqlDao invoiceSqlDao) {
+ this.accountSqlDao = accountSqlDao;
this.invoiceSqlDao = invoiceSqlDao;
}
@Override
+ public BusinessAccount getAccountByKey(final String accountKey) {
+ return accountSqlDao.getAccount(accountKey);
+ }
+
+ @Override
public void createInvoice(final String accountKey, final BusinessInvoice invoice, final Iterable<BusinessInvoiceItem> invoiceItems) {
invoiceSqlDao.inTransaction(new Transaction<Void, BusinessInvoiceSqlDao>() {
@Override
diff --git a/analytics/src/test/java/com/ning/billing/analytics/dao/TestDefaultAnalyticsDao.java b/analytics/src/test/java/com/ning/billing/analytics/dao/TestDefaultAnalyticsDao.java
index faa022c..20b3517 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/dao/TestDefaultAnalyticsDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/dao/TestDefaultAnalyticsDao.java
@@ -46,7 +46,7 @@ public class TestDefaultAnalyticsDao extends TestWithEmbeddedDB {
accountSqlDao = dbi.onDemand(BusinessAccountSqlDao.class);
invoiceSqlDao = dbi.onDemand(BusinessInvoiceSqlDao.class);
invoiceItemSqlDao = dbi.onDemand(BusinessInvoiceItemSqlDao.class);
- analyticsDao = new DefaultAnalyticsDao(invoiceSqlDao);
+ analyticsDao = new DefaultAnalyticsDao(accountSqlDao, invoiceSqlDao);
}
@Test(groups = "slow")