killbill-uncached

Fix weird issue from jdbi/mysql where we need to explicitely

12/13/2011 10:18:37 PM

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
index 3470b74..8ce78bb 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
@@ -41,7 +41,7 @@ import java.util.List;
 import java.util.UUID;
 
 @ExternalizedSqlViaStringTemplate3()
-public interface BundleSqlDao extends Transactional<EventSqlDao>, CloseMe, Transmogrifier {
+public interface BundleSqlDao extends Transactional<BundleSqlDao>, CloseMe, Transmogrifier {
 
     @SqlUpdate
     public void insertBundle(@Bind(binder = SubscriptionBundleBinder.class) SubscriptionBundleData bundle);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
index 3838845..62cefe7 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
@@ -71,9 +71,16 @@ public class EntitlementSqlDao implements EntitlementDao {
     }
 
     @Override
-    public SubscriptionBundle createSubscriptionBundle(SubscriptionBundleData bundle) {
-        bundlesDao.insertBundle(bundle);
-        return bundle;
+    public SubscriptionBundle createSubscriptionBundle(final SubscriptionBundleData bundle) {
+        return bundlesDao.inTransaction(new Transaction<SubscriptionBundle, BundleSqlDao>() {
+
+            @Override
+            public SubscriptionBundle inTransaction(BundleSqlDao trans,
+                    TransactionStatus status) throws Exception {
+                trans.insertBundle(bundle);
+                return trans.getBundleFromId(bundle.getId().toString());
+            }
+        });
     }
 
     @Override