killbill-aplcache
Changes
analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.java 7(+6 -1)
analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessAccountSqlDao.sql.stg 13(+0 -13)
Details
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessAccountSqlDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessAccountSqlDao.java
index b538d04..d2c6d2e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessAccountSqlDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessAccountSqlDao.java
@@ -36,10 +36,6 @@ public interface BusinessAccountSqlDao extends Transactional<BusinessAccountSqlD
List<TimeSeriesTuple> getAccountsCreatedOverTime();
@SqlQuery
- List<TimeSeriesTuple> getSubscriptionsCreatedOverTime(@Bind("product_type") final String productType,
- @Bind("slug") final String slug);
-
- @SqlQuery
BusinessAccount getAccount(@Bind("account_id") final String accountId);
@SqlQuery
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.java
index 3c8fd44..e8703a5 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.java
@@ -28,8 +28,13 @@ import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTempla
import com.ning.billing.analytics.model.BusinessSubscriptionTransition;
@ExternalizedSqlViaStringTemplate3()
-@RegisterMapper(BusinessSubscriptionTransitionMapper.class)
+@RegisterMapper({BusinessSubscriptionTransitionMapper.class, TimeSeriesTupleMapper.class})
public interface BusinessSubscriptionTransitionSqlDao extends Transactional<BusinessSubscriptionTransitionSqlDao> {
+
+ @SqlQuery
+ List<TimeSeriesTuple> getSubscriptionsCreatedOverTime(@Bind("product_type") final String productType,
+ @Bind("slug") final String slug);
+
@SqlQuery
List<BusinessSubscriptionTransition> getTransitionsByKey(@Bind("external_key") final String externalKey);
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 fe4fe6e..dc25ba2 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
@@ -64,7 +64,7 @@ public class DefaultAnalyticsDao implements AnalyticsDao {
@Override
public TimeSeriesData getSubscriptionsCreatedOverTime(final String productType, final String slug) {
- return new DefaultTimeSeriesData(accountSqlDao.getSubscriptionsCreatedOverTime(productType, slug));
+ return new DefaultTimeSeriesData(subscriptionTransitionSqlDao.getSubscriptionsCreatedOverTime(productType, slug));
}
@Override
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessAccountSqlDao.sql.stg b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessAccountSqlDao.sql.stg
index a253aea..c6b9195 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessAccountSqlDao.sql.stg
+++ b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessAccountSqlDao.sql.stg
@@ -11,19 +11,6 @@ getAccountsCreatedOverTime() ::= <<
;
>>
-getSubscriptionsCreatedOverTime(product_type, slug) ::= <<
- select
- date(from_unixtime(requested_timestamp / 1000)) day
- , count(record_id) count
- from bst
- where event in ('ADD_ADD_ON', 'ADD_BASE', 'ADD_STANDALONE')
- and next_product_type = :product_type
- and next_slug = :slug
- group by 1
- order by 1
- ;
->>
-
getAccount(account_id) ::= <<
select
account_id
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.sql.stg b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.sql.stg
index 6bda4e4..8a1d2f6 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.sql.stg
+++ b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionSqlDao.sql.stg
@@ -1,5 +1,18 @@
group BusinessSubscriptionTransition;
+getSubscriptionsCreatedOverTime(product_type, slug) ::= <<
+ select
+ date(from_unixtime(requested_timestamp / 1000)) day
+ , count(record_id) count
+ from bst
+ where event in ('ADD_ADD_ON', 'ADD_BASE', 'ADD_STANDALONE')
+ and next_product_type = :product_type
+ and next_slug = :slug
+ group by 1
+ order by 1
+ ;
+>>
+
getTransitionsByKey(external_key) ::= <<
select
total_ordering
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java b/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
index 2269957..9401889 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
@@ -28,6 +28,7 @@ import org.testng.Assert;
import com.google.common.collect.ImmutableList;
import com.ning.billing.analytics.dao.BusinessSubscriptionTransitionBinder;
import com.ning.billing.analytics.dao.BusinessSubscriptionTransitionSqlDao;
+import com.ning.billing.analytics.dao.TimeSeriesTuple;
import com.ning.billing.analytics.model.BusinessSubscriptionTransition;
public class MockBusinessSubscriptionTransitionSqlDao implements BusinessSubscriptionTransitionSqlDao {
@@ -35,6 +36,11 @@ public class MockBusinessSubscriptionTransitionSqlDao implements BusinessSubscri
private final Map<String, String> keyForBundleId = new HashMap<String, String>();
@Override
+ public List<TimeSeriesTuple> getSubscriptionsCreatedOverTime(@Bind("product_type") final String productType, @Bind("slug") final String slug) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public List<BusinessSubscriptionTransition> getTransitionsByKey(@Bind("event_key") final String key) {
return content.get(key);
}