killbill-aplcache

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
index 6f32fe3..cb8730a 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
@@ -35,6 +35,7 @@ import com.ning.billing.entitlement.engine.addon.AddonUtils;
 import com.ning.billing.entitlement.engine.core.Engine;
 import com.ning.billing.entitlement.engine.dao.EntitlementDao;
 import com.ning.billing.entitlement.engine.dao.EntitlementSqlDao;
+import com.ning.billing.util.glue.RealImplementation;
 
 public class EntitlementModule extends AbstractModule {
     protected void installConfig() {
@@ -54,7 +55,7 @@ public class EntitlementModule extends AbstractModule {
         bind(PlanAligner.class).asEagerSingleton();
         bind(AddonUtils.class).asEagerSingleton();
         bind(MigrationPlanAligner.class).asEagerSingleton();
-        bind(EntitlementUserApi.class).to(DefaultEntitlementUserApi.class).asEagerSingleton();
+        bind(EntitlementUserApi.class).annotatedWith(RealImplementation.class).to(DefaultEntitlementUserApi.class).asEagerSingleton();
         bind(EntitlementMigrationApi.class).to(DefaultEntitlementMigrationApi.class).asEagerSingleton();
         bind(ChargeThruApi.class).to(DefaultChargeThruApi.class).asEagerSingleton();
     }
diff --git a/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java b/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
index 1c87dfe..82a3295 100644
--- a/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
+++ b/junction/src/main/java/com/ning/billing/junction/glue/JunctionModule.java
@@ -22,12 +22,14 @@ import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.ning.billing.account.api.AccountUserApi;
+import com.ning.billing.entitlement.api.user.EntitlementUserApi;
 import com.ning.billing.junction.api.BillingApi;
 import com.ning.billing.junction.api.BlockingApi;
 import com.ning.billing.junction.api.blocking.DefaultBlockingApi;
 import com.ning.billing.junction.dao.BlockingStateDao;
 import com.ning.billing.junction.dao.BlockingStateSqlDao;
 import com.ning.billing.junction.plumbing.api.BlockingAccountUserApi;
+import com.ning.billing.junction.plumbing.api.BlockingEntitlementUserApi;
 import com.ning.billing.junction.plumbing.billing.BlockingCalculator;
 import com.ning.billing.junction.plumbing.billing.DefaultBillingApi;
 
@@ -39,6 +41,7 @@ public class JunctionModule extends AbstractModule {
         installBlockingApi();
         installAccountUserApi();
         installBillingApi();
+        installEntitlementUserApi();
         
         // Internal
         installBlockingCalculator();
@@ -57,6 +60,10 @@ public class JunctionModule extends AbstractModule {
         bind(AccountUserApi.class).to(BlockingAccountUserApi.class).asEagerSingleton();
     }
     
+    protected void installEntitlementUserApi() {
+        bind(EntitlementUserApi.class).to(BlockingEntitlementUserApi.class).asEagerSingleton();
+    }
+    
     protected void installBlockingApi() {
         bind(BlockingApi.class).to(DefaultBlockingApi.class).asEagerSingleton();
     }
diff --git a/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java b/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
index 2df0094..f39659f 100644
--- a/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
+++ b/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
@@ -18,6 +18,7 @@ package com.ning.billing.mock.glue;
 
 import com.google.inject.AbstractModule;
 import com.ning.billing.account.api.AccountUserApi;
+import com.ning.billing.entitlement.api.user.EntitlementUserApi;
 import com.ning.billing.junction.api.BillingApi;
 import com.ning.billing.junction.api.BlockingApi;
 import com.ning.billing.mock.BrainDeadProxyFactory;
@@ -26,6 +27,7 @@ public class MockJunctionModule extends AbstractModule {
     private BillingApi billingApi = BrainDeadProxyFactory.createBrainDeadProxyFor(BillingApi.class);
     private BlockingApi blockingApi = BrainDeadProxyFactory.createBrainDeadProxyFor(BlockingApi.class);
     private AccountUserApi userApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
+    private EntitlementUserApi entUserApi = BrainDeadProxyFactory.createBrainDeadProxyFor(EntitlementUserApi.class);
     
     @Override
     protected void configure() {
@@ -46,4 +48,8 @@ public class MockJunctionModule extends AbstractModule {
     protected void installBlockingApi() {
         bind(BlockingApi.class).toInstance(blockingApi);
     }
+    
+    protected void installEntitlementUserApi() {
+        bind(EntitlementUserApi.class).toInstance(entUserApi);
+    }
 }