killbill-aplcache

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);
     }