killbill-aplcache

Fixing guice dependency issues

1/30/2012 10:32:01 PM

Details

diff --git a/account/src/main/java/com/ning/billing/account/glue/AccountModule.java b/account/src/main/java/com/ning/billing/account/glue/AccountModule.java
index 2e5559a..48cd4f6 100644
--- a/account/src/main/java/com/ning/billing/account/glue/AccountModule.java
+++ b/account/src/main/java/com/ning/billing/account/glue/AccountModule.java
@@ -46,7 +46,7 @@ public class AccountModule extends AbstractModule {
         bind(AccountService.class).to(DefaultAccountService.class).asEagerSingleton();
     }
     
-    protected void installClock() {
+    protected void installTestModules() {
         install(new ClockModule());
     }
 
@@ -57,6 +57,6 @@ public class AccountModule extends AbstractModule {
         installAccountDao();
         installAccountService();
         installAccountUserApi();
-        installClock() ;
+        installTestModules() ;
     }
 }
diff --git a/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java b/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
index f9265c0..86beaa5 100644
--- a/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
+++ b/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
@@ -28,7 +28,7 @@ public class AccountModuleWithMocks extends AccountModule {
     }
     
     @Override
-    protected void installClock() {
+    protected void installTestModules() {
         install(new MockClockModule());
     }
 }
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 91d4aba..c1268ca 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
@@ -48,10 +48,6 @@ public class EntitlementModule extends AbstractModule {
         bind(EntitlementConfig.class).toInstance(config);
     }
     
-    protected void installClock() {
-    	install(new ClockModule());
-    }
-
     protected void installApiEventProcessor() {
         bind(EventNotifier.class).to(DefaultApiEventProcessor.class).asEagerSingleton();
     }
@@ -78,6 +74,5 @@ public class EntitlementModule extends AbstractModule {
         installApiEventProcessor();
         installEntitlementDao();
         installEntitlementCore();
-        installClock();
     }
 }
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
index 08b05d6..2de7872 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
@@ -28,7 +28,6 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Stage;
@@ -56,7 +55,7 @@ import com.ning.billing.entitlement.events.EntitlementEvent.EventType;
 import com.ning.billing.entitlement.events.user.ApiEventType;
 import com.ning.billing.lifecycle.KillbillService.ServiceException;
 import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.glue.ClockModule;
 
 public class TestDefaultEntitlementBillingApi {
 	private static final UUID zeroId = new UUID(0L,0L);
@@ -76,11 +75,7 @@ public class TestDefaultEntitlementBillingApi {
 	@BeforeClass(groups={"setup"})
 	public void setup() throws ServiceException {
 		TestApiBase.loadSystemPropertiesFromClasspath("/entitlement.properties");
-        final Injector g = Guice.createInjector(Stage.PRODUCTION, new CatalogModule(), new AbstractModule() {
-			protected void configure() {
-				 bind(Clock.class).to(DefaultClock.class).asEagerSingleton();
-			}  	
-        });
+        final Injector g = Guice.createInjector(Stage.PRODUCTION, new CatalogModule(), new ClockModule());
 
         
         catalogService = g.getInstance(CatalogService.class);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
index 87b5f02..8ad3ae8 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
@@ -23,17 +23,17 @@ import com.ning.billing.util.glue.MockClockModule;
 
 public class MockEngineModule extends EntitlementModule {
 
-    @Override
-    protected void installClock() {
-        install (new MockClockModule());
+    protected void installModulesForTests() {
+        install(new EventBusModule());
+        install(new CatalogModule());
+        install(new AccountModuleWithMocks());
+        install (new MockClockModule());	
     }
-
+    
     @Override
     protected void configure() {
         super.configure();
-        install(new EventBusModule());
-        install(new CatalogModule());
-        install(new AccountModuleWithMocks());
+        installModulesForTests();
     }
 
 }
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModuleSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModuleSql.java
index f1cd237..fb5c890 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModuleSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModuleSql.java
@@ -33,11 +33,6 @@ public class MockEngineModuleSql extends MockEngineModule {
         bind(EntitlementDao.class).to(MockEntitlementDaoSql.class).asEagerSingleton();
     }
 
-    @Override
-    protected void installClock() {
-        bind(Clock.class).to(ClockMock.class).asEagerSingleton();
-    }
-
     protected void installDBI() {
         bind(DBI.class).toProvider(DBIProvider.class).asEagerSingleton();
         final DbiConfig config = new ConfigurationObjectFactory(System.getProperties()).build(DbiConfig.class);
diff --git a/util/src/main/java/com/ning/billing/util/glue/TagStoreModule.java b/util/src/main/java/com/ning/billing/util/glue/TagStoreModule.java
index 7ac13d4..10651be 100644
--- a/util/src/main/java/com/ning/billing/util/glue/TagStoreModule.java
+++ b/util/src/main/java/com/ning/billing/util/glue/TagStoreModule.java
@@ -31,14 +31,10 @@ public class TagStoreModule extends AbstractModule
     @Override
     protected void configure()
     {
-        configureClock();
         bind(TagDefinitionSqlDao.class).toProvider(TagDescriptionDaoProvider.class).asEagerSingleton();
         bind(TagDefinitionDao.class).to(DefaultTagDefinitionDao.class).asEagerSingleton();
         bind(TagStoreSqlDao.class).toProvider(TagStoreDaoProvider.class).asEagerSingleton();
         bind(TagDefinitionUserApi.class).to(DefaultTagDefinitionUserApi.class).asEagerSingleton();
     }
     
-    protected void configureClock() {
-    	install(new ClockModule());
-    }
 }
diff --git a/util/src/test/java/com/ning/billing/util/tag/TagStoreModuleMock.java b/util/src/test/java/com/ning/billing/util/tag/TagStoreModuleMock.java
index 8d0ce05..74309b8 100644
--- a/util/src/test/java/com/ning/billing/util/tag/TagStoreModuleMock.java
+++ b/util/src/test/java/com/ning/billing/util/tag/TagStoreModuleMock.java
@@ -44,9 +44,4 @@ public class TagStoreModuleMock extends TagStoreModule {
         bind(IDBI.class).toInstance(helper.getDBI());
         super.configure();
     }
-    
-    @Override
-    protected void configureClock() {
-    	install(new MockClockModule());
-    }
 }
diff --git a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
index 633095f..0fed7fe 100644
--- a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
+++ b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
@@ -33,6 +33,7 @@ import com.ning.billing.account.api.ControlTagType;
 import com.ning.billing.util.api.TagDefinitionApiException;
 import com.ning.billing.util.clock.Clock;
 import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.glue.MockClockModule;
 import com.ning.billing.util.tag.dao.TagDefinitionDao;
 import com.ning.billing.util.tag.dao.TagStoreSqlDao;
 
@@ -64,7 +65,7 @@ public class TestTagStore {
             module.startDb();
             module.initDb(utilDdl);
 
-            final Injector injector = Guice.createInjector(Stage.DEVELOPMENT, module);
+            final Injector injector = Guice.createInjector(Stage.DEVELOPMENT, module, new MockClockModule());
             dbi = injector.getInstance(IDBI.class);
 
             tagStoreSqlDao = injector.getInstance(TagStoreSqlDao.class);