killbill-memoizeit

tag: prepare for tag notification changes Change the various

6/12/2012 9:59:52 PM

Details

diff --git a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
index 71985e0..a97a630 100644
--- a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
+++ b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
@@ -40,14 +40,17 @@ import com.ning.billing.util.callcontext.UserType;
 import com.ning.billing.util.callcontext.DefaultCallContextFactory;
 import com.ning.billing.util.clock.Clock;
 import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
 
 public abstract class AccountDaoTestBase {
     private final MysqlTestingHelper helper = new MysqlTestingHelper();
 
+    protected final TagEventBuilder tagEventBuilder = new TagEventBuilder();
+
     protected AccountDao accountDao;
     protected AccountEmailDao accountEmailDao;
     protected IDBI dbi;
-
+    protected Bus bus;
     protected CallContext context;
 
     @BeforeClass(alwaysRun = true)
@@ -63,7 +66,7 @@ public abstract class AccountDaoTestBase {
 
             dbi = helper.getDBI();
 
-            Bus bus = new InMemoryBus();
+            bus = new InMemoryBus();
             BusService busService = new DefaultBusService(bus);
             ((DefaultBusService) busService).startBus();
 
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
index ba1d3f6..e846a42 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
@@ -152,7 +152,7 @@ public class TestAccountDao extends AccountDaoTestBase {
         TagDefinitionSqlDao tagDescriptionDao = dbi.onDemand(TagDefinitionSqlDao.class);
         tagDescriptionDao.create(definition, context);
 
-        TagDao tagDao = new AuditedTagDao(dbi);
+        TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
         tagDao.insertTag(account.getId(), ObjectType.ACCOUNT, definition, context);
 
         Map<String, Tag> tagMap = tagDao.loadEntities(account.getId(), ObjectType.ACCOUNT);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
index 70ca921..4c4677e 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
@@ -24,11 +24,13 @@ import com.ning.billing.dbi.MysqlTestingHelper;
 import com.ning.billing.invoice.notification.MockNextBillingDatePoster;
 import com.ning.billing.invoice.notification.NextBillingDatePoster;
 import com.ning.billing.util.api.TagUserApi;
+import com.ning.billing.util.bus.Bus;
+import com.ning.billing.util.bus.InMemoryBus;
 import com.ning.billing.util.callcontext.TestCallContext;
 import com.ning.billing.util.clock.ClockMock;
 import com.ning.billing.util.tag.api.DefaultTagUserApi;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
 import com.ning.billing.util.tag.dao.AuditedTagDao;
-import com.ning.billing.util.tag.dao.MockTagDao;
 import com.ning.billing.util.tag.dao.MockTagDefinitionDao;
 import com.ning.billing.util.tag.dao.TagDao;
 import org.apache.commons.io.IOUtils;
@@ -49,6 +51,8 @@ import com.ning.billing.util.clock.Clock;
 import com.ning.billing.util.tag.dao.TagDefinitionDao;
 
 public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
+    protected final TagEventBuilder tagEventBuilder = new TagEventBuilder();
+
     protected IDBI dbi;
     private MysqlTestingHelper mysqlTestingHelper;
     protected InvoiceDao invoiceDao;
@@ -59,6 +63,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
     protected Clock clock;
     protected CallContext context;
     protected InvoiceGenerator generator;
+    protected Bus bus;
 
     private final InvoiceConfig invoiceConfig = new InvoiceConfig() {
         @Override
@@ -83,7 +88,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
 
         NextBillingDatePoster nextBillingDatePoster = new MockNextBillingDatePoster();
         final TagDefinitionDao tagDefinitionDao = new MockTagDefinitionDao();
-        final TagDao tagDao = new AuditedTagDao(dbi);
+        final TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
         final TagUserApi tagUserApi = new DefaultTagUserApi(tagDefinitionDao, tagDao);
         invoiceDao = new DefaultInvoiceDao(dbi, nextBillingDatePoster, tagUserApi);
         invoiceDao.test();
@@ -96,6 +101,8 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
         clock = new ClockMock();
         context = new TestCallContext("Invoice Dao Tests");
         generator = new DefaultInvoiceGenerator(clock, invoiceConfig);
+        bus = new InMemoryBus();
+        bus.start();
 
         assertTrue(true);
     }
@@ -119,6 +126,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
 
     @AfterClass(alwaysRun = true)
     protected void tearDown() {
+        bus.stop();
         mysqlTestingHelper.stopMysql();
         assertTrue(true);
     }
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
index 97d7532..e4ab210 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
@@ -656,7 +656,7 @@ public class InvoiceDaoTests extends InvoiceDaoTestBase {
         invoiceDao.create(invoice, context);
         invoiceDao.setWrittenOff(invoice.getId(), context);
 
-        TagDao tagDao = new AuditedTagDao(dbi);
+        TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
         Map<String, Tag> tags = tagDao.loadEntities(invoice.getId(), ObjectType.INVOICE);
         assertEquals(tags.size(), 1);
         assertTrue(tags.containsKey(ControlTagType.WRITTEN_OFF.toString()));
@@ -687,7 +687,7 @@ public class InvoiceDaoTests extends InvoiceDaoTestBase {
         invoiceDao.create(invoice, context);
         invoiceDao.setWrittenOff(invoice.getId(), context);
 
-        TagDao tagDao = new AuditedTagDao(dbi);
+        TagDao tagDao = new AuditedTagDao(dbi, tagEventBuilder, bus);
         Map<String, Tag> tags = tagDao.loadEntities(invoice.getId(), ObjectType.INVOICE);
         assertEquals(tags.size(), 1);
         assertTrue(tags.containsKey(ControlTagType.WRITTEN_OFF.toString()));
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
index cf40ee2..c34985f 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
@@ -31,6 +31,7 @@ import com.google.inject.Inject;
 import com.ning.billing.ErrorCode;
 import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.util.ChangeType;
+import com.ning.billing.util.bus.Bus;
 import com.ning.billing.util.callcontext.CallContext;
 import com.ning.billing.util.dao.AuditedCollectionDaoBase;
 import com.ning.billing.util.dao.EntityAudit;
@@ -44,12 +45,17 @@ import com.ning.billing.util.tag.DefaultControlTag;
 import com.ning.billing.util.tag.DescriptiveTag;
 import com.ning.billing.util.tag.Tag;
 import com.ning.billing.util.tag.TagDefinition;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
 
 public class AuditedTagDao extends AuditedCollectionDaoBase<Tag, Tag> implements TagDao {
     private final TagSqlDao tagSqlDao;
+    private final TagEventBuilder tagEventBuilder;
+    private final Bus bus;
 
     @Inject
-    public AuditedTagDao(final IDBI dbi) {
+    public AuditedTagDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+        this.tagEventBuilder = tagEventBuilder;
+        this.bus = bus;
         this.tagSqlDao = dbi.onDemand(TagSqlDao.class);
     }
 
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
index 53dbd90..afad118 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
@@ -24,16 +24,22 @@ import org.skife.jdbi.v2.IDBI;
 import com.google.inject.Inject;
 import com.ning.billing.ErrorCode;
 import com.ning.billing.util.api.TagDefinitionApiException;
+import com.ning.billing.util.bus.Bus;
 import com.ning.billing.util.callcontext.CallContext;
 import com.ning.billing.util.tag.ControlTagType;
 import com.ning.billing.util.tag.DefaultTagDefinition;
 import com.ning.billing.util.tag.TagDefinition;
+import com.ning.billing.util.tag.api.user.TagEventBuilder;
 
 public class DefaultTagDefinitionDao implements TagDefinitionDao {
     private final TagDefinitionSqlDao dao;
+    private final TagEventBuilder tagEventBuilder;
+    private final Bus bus;
 
     @Inject
-    public DefaultTagDefinitionDao(final IDBI dbi) {
+    public DefaultTagDefinitionDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+        this.tagEventBuilder = tagEventBuilder;
+        this.bus = bus;
         this.dao = dbi.onDemand(TagDefinitionSqlDao.class);
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java b/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
index 213e012..d7a704b 100644
--- a/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
+++ b/util/src/test/java/com/ning/billing/util/tag/MockTagStoreModuleSql.java
@@ -23,6 +23,8 @@ import org.skife.jdbi.v2.tweak.HandleCallback;
 
 import com.ning.billing.dbi.MysqlTestingHelper;
 import com.ning.billing.mock.glue.MockClockModule;
+import com.ning.billing.util.bus.Bus;
+import com.ning.billing.util.bus.InMemoryBus;
 import com.ning.billing.util.glue.TagStoreModule;
 
 public class MockTagStoreModuleSql extends TagStoreModule {
@@ -34,6 +36,7 @@ public class MockTagStoreModuleSql extends TagStoreModule {
         bind(IDBI.class).toInstance(helper.getDBI());
         bind(MysqlTestingHelper.class).toInstance(helper);
         install(new MockClockModule());
+        bind(Bus.class).toInstance(new InMemoryBus());
         super.configure();
     }
 
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 8507834..bea5065 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
@@ -39,6 +39,7 @@ import com.google.inject.Inject;
 import com.ning.billing.dbi.MysqlTestingHelper;
 import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.util.api.TagDefinitionApiException;
+import com.ning.billing.util.bus.Bus;
 import com.ning.billing.util.callcontext.CallContext;
 import com.ning.billing.util.callcontext.CallOrigin;
 import com.ning.billing.util.callcontext.DefaultCallContextFactory;
@@ -72,6 +73,9 @@ public class TestTagStore {
     @Inject
     private Clock clock;
 
+    @Inject
+    private Bus bus;
+
     private TagDefinition testTag;
 
     private final Logger log = LoggerFactory.getLogger(TestTagStore.class);
@@ -87,6 +91,7 @@ public class TestTagStore {
             helper.initDb(utilDdl);
 
             context = new DefaultCallContextFactory(clock).createCallContext("Tag store test", CallOrigin.TEST, UserType.TEST);
+            bus.start();
 
             cleanupTags();
             tagDefinitionDao.create("tag1", "First tag", context);
@@ -99,6 +104,7 @@ public class TestTagStore {
 
     @AfterClass(groups = "slow")
     public void stopMysql() {
+        bus.stop();
         if (helper != null) {
             helper.stopMysql();
         }