killbill-memoizeit
Changes
osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/api/user/AnalyticsUserApi.java 8(+4 -4)
osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java 6(+2 -4)
osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/AnalyticsDao.java 15(+8 -7)
osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessAnalyticsDaoBase.java 3(+2 -1)
osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessTagDao.java 9(+4 -5)
osgi-bundles/bundles/analytics/src/test/java/com/ning/billing/osgi/bundles/analytics/dao/TestAnalyticsDao.java 2(+1 -1)
osgi-bundles/bundles/pom.xml 1(+1 -0)
pom.xml 5(+5 -0)
Details
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/api/user/AnalyticsUserApi.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/api/user/AnalyticsUserApi.java
index ba3c625..197c8bd 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/api/user/AnalyticsUserApi.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/api/user/AnalyticsUserApi.java
@@ -61,7 +61,7 @@ public class AnalyticsUserApi extends BusinessAnalyticsBase {
final OSGIKillbillAPI osgiKillbillAPI,
final OSGIKillbillDataSource osgiKillbillDataSource) {
super(logService, osgiKillbillAPI);
- this.analyticsDao = new AnalyticsDao(logService, osgiKillbillAPI, osgiKillbillDataSource);
+ this.analyticsDao = new AnalyticsDao(osgiKillbillDataSource);
this.bacDao = new BusinessAccountDao(logService, osgiKillbillAPI, osgiKillbillDataSource);
this.bstDao = new BusinessSubscriptionTransitionDao(logService, osgiKillbillAPI, osgiKillbillDataSource);
this.binDao = new BusinessInvoiceDao(logService, osgiKillbillAPI, osgiKillbillDataSource, bacDao);
@@ -109,15 +109,15 @@ public class AnalyticsUserApi extends BusinessAnalyticsBase {
// Refresh BST
bstDao.update(accountId, context);
+ // Refresh tags
+ bTagDao.update(accountId, context);
+
for (final ObjectType objectType : ObjectType.values()) {
// Refresh BOS
bosDao.update(accountId, objectType, context);
// Refresh fields
bFieldDao.update(accountId, objectType, context);
-
- // Refresh tags
- bTagDao.update(accountId, objectType, context);
}
logService.log(LogService.LOG_INFO, "Finished rebuild of Analytics for account " + accountId);
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
index 3ff8968..80abafe 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
@@ -354,11 +354,9 @@ public abstract class BusinessAnalyticsBase {
// TAG
//
- protected Collection<Tag> getTagsForAccountAndObjectType(final UUID accountId, final ObjectType objectType, final TenantContext context) throws AnalyticsRefreshException {
+ protected Collection<Tag> getTagsForAccount(final UUID accountId, final TenantContext context) throws AnalyticsRefreshException {
final TagUserApi tagUserApi = getTagUserApi();
- // TODO
- //return tagUserApi.getTagsForAccount(accountId, objectType, context);
- return null;
+ return tagUserApi.getTagsForAccount(accountId, context);
}
protected TagDefinition getTagDefinition(final UUID tagDefinitionId, final TenantContext context) throws AnalyticsRefreshException {
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/AnalyticsDao.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/AnalyticsDao.java
index b640ee5..49bb601 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/AnalyticsDao.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/AnalyticsDao.java
@@ -23,6 +23,8 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.skife.jdbi.v2.DBI;
+
import com.ning.billing.osgi.bundles.analytics.api.BusinessAccount;
import com.ning.billing.osgi.bundles.analytics.api.BusinessField;
import com.ning.billing.osgi.bundles.analytics.api.BusinessInvoice;
@@ -39,21 +41,20 @@ import com.ning.billing.osgi.bundles.analytics.dao.model.BusinessOverdueStatusMo
import com.ning.billing.osgi.bundles.analytics.dao.model.BusinessSubscriptionTransitionModelDao;
import com.ning.billing.osgi.bundles.analytics.dao.model.BusinessTagModelDao;
import com.ning.billing.util.callcontext.TenantContext;
-import com.ning.killbill.osgi.libs.killbill.OSGIKillbillAPI;
import com.ning.killbill.osgi.libs.killbill.OSGIKillbillDataSource;
-import com.ning.killbill.osgi.libs.killbill.OSGIKillbillLogService;
import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-public class AnalyticsDao extends BusinessAnalyticsDaoBase {
+public class AnalyticsDao {
+
+ protected final BusinessAnalyticsSqlDao sqlDao;
- public AnalyticsDao(final OSGIKillbillLogService logService,
- final OSGIKillbillAPI osgiKillbillAPI,
- final OSGIKillbillDataSource osgiKillbillDataSource) {
- super(logService, osgiKillbillAPI, osgiKillbillDataSource);
+ public AnalyticsDao(final OSGIKillbillDataSource osgiKillbillDataSource) {
+ final DBI dbi = new DBI(osgiKillbillDataSource.getDataSource());
+ sqlDao = dbi.onDemand(BusinessAnalyticsSqlDao.class);
}
public BusinessAccount getAccountById(final UUID accountId, final TenantContext context) {
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessAnalyticsDaoBase.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessAnalyticsDaoBase.java
index daba913..4e72ac9 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessAnalyticsDaoBase.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessAnalyticsDaoBase.java
@@ -27,7 +27,8 @@ public class BusinessAnalyticsDaoBase extends BusinessAnalyticsBase {
protected final BusinessAnalyticsSqlDao sqlDao;
- public BusinessAnalyticsDaoBase(final OSGIKillbillLogService logService, final OSGIKillbillAPI osgiKillbillAPI,
+ public BusinessAnalyticsDaoBase(final OSGIKillbillLogService logService,
+ final OSGIKillbillAPI osgiKillbillAPI,
final OSGIKillbillDataSource osgiKillbillDataSource) {
super(logService, osgiKillbillAPI);
diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessTagDao.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessTagDao.java
index c35c23a..509bf1d 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessTagDao.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessTagDao.java
@@ -23,7 +23,6 @@ import java.util.UUID;
import org.skife.jdbi.v2.Transaction;
import org.skife.jdbi.v2.TransactionStatus;
-import com.ning.billing.ObjectType;
import com.ning.billing.account.api.Account;
import com.ning.billing.osgi.bundles.analytics.AnalyticsRefreshException;
import com.ning.billing.osgi.bundles.analytics.dao.model.BusinessTagModelDao;
@@ -43,10 +42,10 @@ public class BusinessTagDao extends BusinessAnalyticsDaoBase {
super(logService, osgiKillbillAPI, osgiKillbillDataSource);
}
- public void update(final UUID accountId, final ObjectType objectType, final CallContext context) throws AnalyticsRefreshException {
+ public void update(final UUID accountId, final CallContext context) throws AnalyticsRefreshException {
final Account account = getAccount(accountId, context);
- final Collection<BusinessTagModelDao> tagModelDaos = createBusinessTags(account, objectType, context);
+ final Collection<BusinessTagModelDao> tagModelDaos = createBusinessTags(account, context);
sqlDao.inTransaction(new Transaction<Void, BusinessAnalyticsSqlDao>() {
@Override
@@ -71,8 +70,8 @@ public class BusinessTagDao extends BusinessAnalyticsDaoBase {
}
}
- private Collection<BusinessTagModelDao> createBusinessTags(final Account account, final ObjectType objectType, final CallContext context) throws AnalyticsRefreshException {
- final Collection<Tag> tags = getTagsForAccountAndObjectType(account.getId(), objectType, context);
+ private Collection<BusinessTagModelDao> createBusinessTags(final Account account, final CallContext context) throws AnalyticsRefreshException {
+ final Collection<Tag> tags = getTagsForAccount(account.getId(), context);
final Collection<BusinessTagModelDao> tagModelDaos = new LinkedList<BusinessTagModelDao>();
for (final Tag tag : tags) {
diff --git a/osgi-bundles/bundles/analytics/src/test/java/com/ning/billing/osgi/bundles/analytics/dao/TestAnalyticsDao.java b/osgi-bundles/bundles/analytics/src/test/java/com/ning/billing/osgi/bundles/analytics/dao/TestAnalyticsDao.java
index 82c86a1..46ab06e 100644
--- a/osgi-bundles/bundles/analytics/src/test/java/com/ning/billing/osgi/bundles/analytics/dao/TestAnalyticsDao.java
+++ b/osgi-bundles/bundles/analytics/src/test/java/com/ning/billing/osgi/bundles/analytics/dao/TestAnalyticsDao.java
@@ -29,7 +29,7 @@ public class TestAnalyticsDao extends AnalyticsTestSuiteWithEmbeddedDB {
@Test(groups = "slow")
public void testDao() throws Exception {
- final AnalyticsDao analyticsDao = new AnalyticsDao(logService, killbillAPI, killbillDataSource);
+ final AnalyticsDao analyticsDao = new AnalyticsDao(killbillDataSource);
Assert.assertNull(analyticsDao.getAccountById(account.getId(), callContext));
final BusinessAccountModelDao accountModelDao = new BusinessAccountModelDao(account,
osgi-bundles/bundles/pom.xml 1(+1 -0)
diff --git a/osgi-bundles/bundles/pom.xml b/osgi-bundles/bundles/pom.xml
index 0faa66b..96c5124 100644
--- a/osgi-bundles/bundles/pom.xml
+++ b/osgi-bundles/bundles/pom.xml
@@ -27,6 +27,7 @@
<name>Killbill billing platform: OSGI bundles</name>
<packaging>pom</packaging>
<modules>
+ <module>analytics</module>
<module>jruby</module>
<module>logger</module>
<module>meter</module>
pom.xml 5(+5 -0)
diff --git a/pom.xml b/pom.xml
index 83d70ee..64a1421 100644
--- a/pom.xml
+++ b/pom.xml
@@ -286,6 +286,11 @@
</dependency>
<dependency>
<groupId>com.ning.billing</groupId>
+ <artifactId>killbill-osgi-bundles-analytics</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.ning.billing</groupId>
<artifactId>killbill-osgi-bundles-jruby</artifactId>
<version>${project.version}</version>
</dependency>