killbill-memoizeit
Changes
beatrix/pom.xml 11(+4 -7)
entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/DefaultRepairEntitlementEvent.java 4(+2 -2)
entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionEvent.java 4(+2 -2)
entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/AuditedEntitlementDao.java 8(+4 -4)
entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoSql.java 4(+2 -2)
invoice/src/test/java/com/ning/billing/invoice/api/invoice/TestDefaultInvoicePaymentApi.java 4(+2 -2)
invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java 6(+3 -3)
util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionCreationEvent.java 4(+2 -2)
util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionDeletionEvent.java 4(+2 -2)
util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionCreationEvent.java 4(+2 -2)
util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionDeletionEvent.java 4(+2 -2)
util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagCreationEvent.java 2(+1 -1)
util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionCreationEvent.java 2(+1 -1)
util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionDeletionEvent.java 2(+1 -1)
util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDeletionEvent.java 2(+1 -1)
util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionCreationEvent.java 2(+1 -1)
Details
diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeEvent.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeEvent.java
index d6b4351..00668f1 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeEvent.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeEvent.java
@@ -59,8 +59,8 @@ public class DefaultAccountChangeEvent extends DefaultBusInternalEvent implement
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.ACCOUNT_CHANGE;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.ACCOUNT_CHANGE;
}
@Override
diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
index eae8770..ba2210f 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
@@ -56,8 +56,8 @@ public class DefaultAccountCreationEvent extends DefaultBusInternalEvent implem
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.ACCOUNT_CREATE;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.ACCOUNT_CREATE;
}
@Override
diff --git a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
index b441c78..808a78d 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
@@ -41,8 +41,8 @@ import com.ning.billing.util.dao.TableName;
import com.ning.billing.util.entity.EntityPersistenceException;
import com.ning.billing.util.events.AccountChangeInternalEvent;
import com.ning.billing.util.events.AccountCreationInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.inject.Inject;
@@ -51,11 +51,11 @@ public class AuditedAccountDao implements AccountDao {
private static final Logger log = LoggerFactory.getLogger(AuditedAccountDao.class);
private final AccountSqlDao accountSqlDao;
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final InternalCallContextFactory internalCallContextFactory;
@Inject
- public AuditedAccountDao(final IDBI dbi, final Bus eventBus, final InternalCallContextFactory internalCallContextFactory) {
+ public AuditedAccountDao(final IDBI dbi, final InternalBus eventBus, final InternalCallContextFactory internalCallContextFactory) {
this.eventBus = eventBus;
this.accountSqlDao = dbi.onDemand(AccountSqlDao.class);
this.internalCallContextFactory = internalCallContextFactory;
@@ -95,7 +95,7 @@ public class AuditedAccountDao implements AccountDao {
try {
accountSqlDao.inTransaction(new Transaction<Void, AccountSqlDao>() {
@Override
- public Void inTransaction(final AccountSqlDao transactionalDao, final TransactionStatus status) throws AccountApiException, Bus.EventBusException {
+ public Void inTransaction(final AccountSqlDao transactionalDao, final TransactionStatus status) throws AccountApiException, InternalBus.EventBusException {
final Account currentAccount = transactionalDao.getAccountByKey(key, context);
if (currentAccount != null) {
throw new AccountApiException(ErrorCode.ACCOUNT_ALREADY_EXISTS, key);
@@ -144,7 +144,7 @@ public class AuditedAccountDao implements AccountDao {
try {
accountSqlDao.inTransaction(new Transaction<Void, AccountSqlDao>() {
@Override
- public Void inTransaction(final AccountSqlDao transactional, final TransactionStatus status) throws EntityPersistenceException, Bus.EventBusException {
+ public Void inTransaction(final AccountSqlDao transactional, final TransactionStatus status) throws EntityPersistenceException, InternalBus.EventBusException {
final UUID accountId = specifiedAccount.getId();
final Account currentAccount = transactional.getById(accountId.toString(), context);
if (currentAccount == null) {
@@ -199,7 +199,7 @@ public class AuditedAccountDao implements AccountDao {
try {
accountSqlDao.inTransaction(new Transaction<Void, AccountSqlDao>() {
@Override
- public Void inTransaction(final AccountSqlDao transactional, final TransactionStatus status) throws EntityPersistenceException, Bus.EventBusException {
+ public Void inTransaction(final AccountSqlDao transactional, final TransactionStatus status) throws EntityPersistenceException, InternalBus.EventBusException {
final Account currentAccount = transactional.getById(accountId.toString(), context);
if (currentAccount == null) {
diff --git a/account/src/test/java/com/ning/billing/account/api/user/TestDefaultAccountUserApi.java b/account/src/test/java/com/ning/billing/account/api/user/TestDefaultAccountUserApi.java
index ac3869c..01284ca 100644
--- a/account/src/test/java/com/ning/billing/account/api/user/TestDefaultAccountUserApi.java
+++ b/account/src/test/java/com/ning/billing/account/api/user/TestDefaultAccountUserApi.java
@@ -36,7 +36,7 @@ import com.ning.billing.account.dao.AccountEmailDao;
import com.ning.billing.account.dao.MockAccountDao;
import com.ning.billing.account.dao.MockAccountEmailDao;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
@@ -55,7 +55,7 @@ public class TestDefaultAccountUserApi extends AccountTestSuite {
@BeforeMethod(groups = "fast")
public void setUp() throws Exception {
- accountDao = new MockAccountDao(Mockito.mock(Bus.class));
+ accountDao = new MockAccountDao(Mockito.mock(InternalBus.class));
accountEmailDao = new MockAccountEmailDao();
accountUserApi = new DefaultAccountUserApi(factory, internalFactory, accountDao, accountEmailDao);
}
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 594faa5..ef2486c 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
@@ -24,10 +24,10 @@ import org.testng.annotations.BeforeClass;
import com.ning.billing.account.AccountTestSuiteWithEmbeddedDB;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
-import com.ning.billing.util.bus.InMemoryBus;
+import com.ning.billing.util.bus.InMemoryInternalBus;
import com.ning.billing.util.tag.api.user.TagEventBuilder;
import static org.testng.Assert.fail;
@@ -39,14 +39,14 @@ public abstract class AccountDaoTestBase extends AccountTestSuiteWithEmbeddedDB
protected AccountDao accountDao;
protected AccountEmailDao accountEmailDao;
protected IDBI dbi;
- protected Bus bus;
+ protected InternalBus bus;
@BeforeClass(groups = "slow")
protected void setup() throws IOException {
try {
dbi = helper.getDBI();
- bus = new InMemoryBus();
+ bus = new InMemoryInternalBus();
final BusService busService = new DefaultBusService(bus);
((DefaultBusService) busService).startBus();
diff --git a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
index 5cd9a36..53d3f2e 100644
--- a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
@@ -29,18 +29,18 @@ import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.entity.EntityPersistenceException;
import com.ning.billing.util.events.AccountChangeInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.inject.Inject;
public class MockAccountDao implements AccountDao {
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final Map<UUID, Account> accounts = new ConcurrentHashMap<UUID, Account>();
@Inject
- public MockAccountDao(final Bus eventBus) {
+ public MockAccountDao(final InternalBus eventBus) {
this.eventBus = eventBus;
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/api/DefaultAnalyticsService.java b/analytics/src/main/java/com/ning/billing/analytics/api/DefaultAnalyticsService.java
index d85cd38..3a54f5b 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/api/DefaultAnalyticsService.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/api/DefaultAnalyticsService.java
@@ -22,7 +22,7 @@ import org.slf4j.LoggerFactory;
import com.google.inject.Inject;
import com.ning.billing.analytics.AnalyticsListener;
import com.ning.billing.lifecycle.LifecycleHandlerType;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
public class DefaultAnalyticsService implements AnalyticsService {
private static final Logger log = LoggerFactory.getLogger(DefaultAnalyticsService.class);
@@ -30,10 +30,10 @@ public class DefaultAnalyticsService implements AnalyticsService {
private static final String ANALYTICS_SERVICE = "analytics-service";
private final AnalyticsListener listener;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
- public DefaultAnalyticsService(final AnalyticsListener listener, final Bus eventBus) {
+ public DefaultAnalyticsService(final AnalyticsListener listener, final InternalBus eventBus) {
this.listener = listener;
this.eventBus = eventBus;
}
@@ -47,7 +47,7 @@ public class DefaultAnalyticsService implements AnalyticsService {
public void registerForNotifications() {
try {
eventBus.register(listener);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.error("Unable to register to the EventBus!", e);
}
}
diff --git a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
index afe306c..e9bc472 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
@@ -83,7 +83,7 @@ import com.ning.billing.util.events.AccountCreationInternalEvent;
import com.ning.billing.util.events.EffectiveSubscriptionInternalEvent;
import com.ning.billing.util.events.InvoiceCreationInternalEvent;
import com.ning.billing.util.events.PaymentInfoInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.inject.Inject;
@@ -119,7 +119,7 @@ public class TestAnalyticsService extends AnalyticsTestSuiteWithEmbeddedDB {
private DefaultAnalyticsService service;
@Inject
- private Bus bus;
+ private InternalBus bus;
@Inject
private BusinessSubscriptionTransitionSqlDao subscriptionSqlDao;
diff --git a/analytics/src/test/java/com/ning/billing/analytics/TestBusinessTagRecorder.java b/analytics/src/test/java/com/ning/billing/analytics/TestBusinessTagRecorder.java
index a033a2c..239e4fb 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/TestBusinessTagRecorder.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/TestBusinessTagRecorder.java
@@ -53,7 +53,7 @@ import com.ning.billing.entitlement.engine.addon.AddonUtils;
import com.ning.billing.entitlement.engine.dao.AuditedEntitlementDao;
import com.ning.billing.entitlement.engine.dao.EntitlementDao;
import com.ning.billing.mock.MockAccountBuilder;
-import com.ning.billing.util.bus.InMemoryBus;
+import com.ning.billing.util.bus.InMemoryInternalBus;
import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.clock.ClockMock;
@@ -67,7 +67,7 @@ public class TestBusinessTagRecorder extends AnalyticsTestSuiteWithEmbeddedDB {
private BusinessAccountTagSqlDao accountTagSqlDao;
private BusinessSubscriptionTransitionTagSqlDao subscriptionTransitionTagSqlDao;
- private InMemoryBus eventBus;
+ private InMemoryInternalBus eventBus;
private DefaultCallContextFactory callContextFactory;
private AccountInternalApi accountApi;
private AccountUserApi accountUserApi;
@@ -82,7 +82,7 @@ public class TestBusinessTagRecorder extends AnalyticsTestSuiteWithEmbeddedDB {
final BusinessInvoiceTagSqlDao invoiceTagSqlDao = dbi.onDemand(BusinessInvoiceTagSqlDao.class);
final BusinessInvoicePaymentTagSqlDao invoicePaymentTagSqlDao = dbi.onDemand(BusinessInvoicePaymentTagSqlDao.class);
subscriptionTransitionTagSqlDao = dbi.onDemand(BusinessSubscriptionTransitionTagSqlDao.class);
- eventBus = new InMemoryBus();
+ eventBus = new InMemoryInternalBus();
final AccountDao accountDao = new AuditedAccountDao(dbi, eventBus, new InternalCallContextFactory(dbi, new ClockMock()));
final AccountEmailDao accountEmailDao = new AuditedAccountEmailDao(dbi);
final DefaultClock clock = new DefaultClock();
diff --git a/api/src/main/java/com/ning/billing/beatrix/bus/ExtBusEventType.java b/api/src/main/java/com/ning/billing/beatrix/bus/ExtBusEventType.java
new file mode 100644
index 0000000..fb35284
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/beatrix/bus/ExtBusEventType.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.bus;
+
+public enum ExtBusEventType {
+ ACCOUNT_CREATION,
+ ACCOUNT_CHANGE,
+ SUBSCRIPTION_CREATION,
+ SUBSCRIPTION_CHANGE,
+ SUBSCRIPTION_CANCEL,
+ OVERDUE_CHANGE,
+ INVOICE_CREATION,
+ PAYMENT_SUCCESS,
+ PAYMENT_FAILED
+}
diff --git a/api/src/main/java/com/ning/billing/beatrix/bus/ExternalBus.java b/api/src/main/java/com/ning/billing/beatrix/bus/ExternalBus.java
new file mode 100644
index 0000000..27e773e
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/beatrix/bus/ExternalBus.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.bus;
+
+
+public interface ExternalBus {
+
+ public void register(final Object handlerInstance); /* throws EventBusException */
+
+ public void unregister(final Object handlerInstance); /* throws EventBusException */
+}
beatrix/pom.xml 11(+4 -7)
diff --git a/beatrix/pom.xml b/beatrix/pom.xml
index 1ee374b..86ce08c 100644
--- a/beatrix/pom.xml
+++ b/beatrix/pom.xml
@@ -65,7 +65,10 @@
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>org.jdbi</groupId>
+ <artifactId>jdbi</artifactId>
+ </dependency>
<!-- TEST SCOPE -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -117,12 +120,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jdbi</groupId>
- <artifactId>jdbi</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java b/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java
new file mode 100644
index 0000000..c4f6f80
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix;
+
+import javax.inject.Inject;
+
+import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.extbus.BeatrixListener;
+import com.ning.billing.beatrix.extbus.PersistentExternalBus;
+import com.ning.billing.lifecycle.KillbillService;
+import com.ning.billing.lifecycle.LifecycleHandlerType;
+import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+
+
+public class DefaultBeatrixService implements KillbillService {
+
+ public static final String BEATRIX_SERVICE_NAME = "beatrix-service";
+
+ private final BeatrixListener beatrixListener;
+ private final InternalBus eventBus;
+ private final ExternalBus externalBus;
+
+
+ @Inject
+ public DefaultBeatrixService(final InternalBus eventBus, final ExternalBus externalBus, final BeatrixListener beatrixListener) {
+ this.eventBus = eventBus;
+ this.externalBus = externalBus;
+ this.beatrixListener = beatrixListener;
+ }
+
+ @Override
+ public String getName() {
+ return BEATRIX_SERVICE_NAME;
+ }
+
+
+ @LifecycleHandlerType(LifecycleHandlerType.LifecycleLevel.REGISTER_EVENTS)
+ public void registerForNotifications() {
+ try {
+ eventBus.register(beatrixListener);
+ } catch (InternalBus.EventBusException e) {
+ throw new RuntimeException("Unable to register to the EventBus!", e);
+ }
+ }
+
+ @LifecycleHandlerType(LifecycleHandlerType.LifecycleLevel.UNREGISTER_EVENTS)
+ public void unregisterForNotifications() {
+ try {
+ eventBus.unregister(beatrixListener);
+ } catch (InternalBus.EventBusException e) {
+ throw new RuntimeException("Unable to unregister to the EventBus!", e);
+ }
+ }
+
+ @LifecycleHandlerType(LifecycleLevel.INIT_BUS)
+ public void startBus() {
+ ((PersistentExternalBus) externalBus).start();
+ }
+
+ @LifecycleHandlerType(LifecycleLevel.STOP_BUS)
+ public void stopBus() {
+ ((PersistentExternalBus) externalBus).stop();
+ }
+
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
new file mode 100644
index 0000000..7f8e5ab
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.extbus;
+
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.extbus.dao.ExtBusEventEntry;
+import com.ning.billing.entitlement.api.SubscriptionTransitionType;
+import com.ning.billing.util.Hostname;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalCallContextFactory;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.events.AccountChangeInternalEvent;
+import com.ning.billing.util.events.AccountCreationInternalEvent;
+import com.ning.billing.util.events.BusInternalEvent;
+import com.ning.billing.util.events.OverdueChangeInternalEvent;
+import com.ning.billing.util.events.SubscriptionInternalEvent;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
+
+import com.google.common.eventbus.Subscribe;
+
+public class BeatrixListener {
+
+ private static final Logger log = LoggerFactory.getLogger(BeatrixListener.class);
+
+ private final ExternalBus externalBus;
+ private final InternalCallContextFactory internalCallContextFactory;
+ private final String hostname;
+
+ @Inject
+ public BeatrixListener(final ExternalBus externalBus,
+ final InternalCallContextFactory internalCallContextFactory) {
+ this.externalBus = externalBus;
+ this.internalCallContextFactory = internalCallContextFactory;
+ this.hostname = Hostname.get();
+ }
+
+ @Subscribe
+ public void handleAllInternalKillbillEvents(final BusInternalEvent event) {
+ switch(event.getBusEventType()) {
+ case ACCOUNT_CREATE:
+ break;
+ case ACCOUNT_CHANGE:
+ break;
+ case SUBSCRIPTION_TRANSITION:
+ break;
+ case INVOICE_CREATION:
+ break;
+ case PAYMENT_INFO:
+ break;
+ case PAYMENT_ERROR:
+ break;
+ case OVERDUE_CHANGE:
+ break;
+ default:
+ // Ignore for now.
+ }
+ final ExtBusEventEntry externalEvent = computeExtBusEventEntryFromBusInternalEvent(event);
+ try {
+
+ if (externalEvent != null) {
+ final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(event.getTenantRecordId(), event.getAccountRecordId(), "BeatrixListener", CallOrigin.INTERNAL, UserType.SYSTEM, event.getUserToken());
+ ((PersistentExternalBus) externalBus).post(externalEvent, internalContext);
+ }
+ } catch (EventBusException e) {
+ log.warn("Failed to post external bus event {} {} ", externalEvent.getExtBusType(), externalEvent.getObjectId());
+ }
+ }
+
+ private ExtBusEventEntry computeExtBusEventEntryFromBusInternalEvent(final BusInternalEvent event) {
+
+ ObjectType objectType = null;
+ UUID objectId = null;
+ ExtBusEventType eventBusType = null;
+
+ switch(event.getBusEventType()) {
+ case ACCOUNT_CREATE:
+ AccountCreationInternalEvent realEventACR = (AccountCreationInternalEvent) event;
+ objectType = ObjectType.ACCOUNT;
+ objectId = realEventACR.getId();
+ eventBusType = ExtBusEventType.ACCOUNT_CREATION;
+ break;
+
+ case ACCOUNT_CHANGE:
+ AccountChangeInternalEvent realEventACH = (AccountChangeInternalEvent) event;
+ objectType = ObjectType.ACCOUNT;
+ objectId = realEventACH.getAccountId();
+ eventBusType = ExtBusEventType.ACCOUNT_CHANGE;
+ break;
+
+ case SUBSCRIPTION_TRANSITION:
+ SubscriptionInternalEvent realEventST = (SubscriptionInternalEvent) event;
+ objectType = ObjectType.SUBSCRIPTION;
+ objectId = realEventST.getSubscriptionId();
+ if (realEventST.getTransitionType() == SubscriptionTransitionType.CREATE) {
+ eventBusType = ExtBusEventType.SUBSCRIPTION_CREATION;
+ } else if (realEventST.getTransitionType() == SubscriptionTransitionType.CANCEL) {
+ eventBusType = ExtBusEventType.SUBSCRIPTION_CANCEL;
+ } else if (realEventST.getTransitionType() == SubscriptionTransitionType.CHANGE) {
+ eventBusType = ExtBusEventType.SUBSCRIPTION_CHANGE;
+ }
+
+ break;
+ case INVOICE_CREATION:
+ break;
+ case PAYMENT_INFO:
+ break;
+ case PAYMENT_ERROR:
+ break;
+ case OVERDUE_CHANGE:
+ OverdueChangeInternalEvent realEventOC = (OverdueChangeInternalEvent) event;
+ // TODO When Killbil supports more than overdue for bundle, this will break...
+ objectType = ObjectType.BUNDLE;
+ objectId = realEventOC.getOverdueObjectId();
+ eventBusType = ExtBusEventType.OVERDUE_CHANGE;
+ break;
+ default:
+ }
+ return eventBusType != null ?
+ new ExtBusEventEntry(hostname, objectType, objectId, eventBusType, event.getAccountRecordId(), event.getAccountRecordId()) : null;
+ }
+
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java
new file mode 100644
index 0000000..8ac4994
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.beatrix.extbus.dao;
+
+import java.util.UUID;
+
+import org.joda.time.DateTime;
+
+import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.queue.PersistentQueueEntryLifecycle;
+
+public class ExtBusEventEntry implements PersistentQueueEntryLifecycle {
+
+ private final long id;
+ private final String owner;
+ private final String createdOwner;
+ private final DateTime nextAvailable;
+ private final PersistentQueueEntryLifecycleState processingState;
+ private final Long accountRecordId;
+ private final Long tenantRecordId;
+
+ private final ObjectType objectType;
+ private final UUID objectId;
+ private final ExtBusEventType extBusType;
+
+
+ public ExtBusEventEntry(final long id, final String createdOwner, final String owner, final DateTime nextAvailable,
+ final PersistentQueueEntryLifecycleState processingState,
+ final ObjectType objectType, final UUID objectId, final ExtBusEventType extBusType,
+ final Long accountRecordId, final Long tenantRecordId) {
+ this.id = id;
+ this.createdOwner = createdOwner;
+ this.owner = owner;
+ this.nextAvailable = nextAvailable;
+ this.processingState = processingState;
+ this.objectType = objectType;
+ this.objectId = objectId;
+ this.extBusType = extBusType;
+ this.accountRecordId = accountRecordId;
+ this.tenantRecordId = tenantRecordId;
+ }
+
+ public ExtBusEventEntry(final String createdOwner,
+ final ObjectType objectType, final UUID objectId, final ExtBusEventType extBusType,
+ final Long accountRecordId, final Long tenantRecordId) {
+ this(0, createdOwner, null, null, null, objectType, objectId, extBusType, accountRecordId, tenantRecordId);
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public ObjectType getObjectType() {
+ return objectType;
+ }
+
+ public UUID getObjectId() {
+ return objectId;
+ }
+
+ public ExtBusEventType getExtBusType() {
+ return extBusType;
+ }
+
+ @Override
+ public String getOwner() {
+ return owner;
+ }
+
+ @Override
+ public String getCreatedOwner() {
+ return createdOwner;
+ }
+
+ @Override
+ public DateTime getNextAvailableDate() {
+ return nextAvailable;
+ }
+
+ @Override
+ public PersistentQueueEntryLifecycleState getProcessingState() {
+ return processingState;
+ }
+
+ @Override
+ public boolean isAvailableForProcessing(final DateTime now) {
+ switch (processingState) {
+ case AVAILABLE:
+ break;
+ case IN_PROCESSING:
+ // Somebody already got the event, not available yet
+ if (nextAvailable.isAfter(now)) {
+ return false;
+ }
+ break;
+ case PROCESSED:
+ return false;
+ default:
+ throw new RuntimeException(String.format("Unknown IEvent processing state %s", processingState));
+ }
+ return true;
+ }
+
+ @Override
+ public Long getAccountRecordId() {
+ return accountRecordId;
+ }
+
+ @Override
+ public Long getTenantRecordId() {
+ return tenantRecordId;
+ }
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java
new file mode 100644
index 0000000..5d4ada9
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.extbus.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Date;
+import java.util.UUID;
+
+import org.joda.time.DateTime;
+import org.skife.jdbi.v2.SQLStatement;
+import org.skife.jdbi.v2.StatementContext;
+import org.skife.jdbi.v2.sqlobject.Bind;
+import org.skife.jdbi.v2.sqlobject.Binder;
+import org.skife.jdbi.v2.sqlobject.SqlQuery;
+import org.skife.jdbi.v2.sqlobject.SqlUpdate;
+import org.skife.jdbi.v2.sqlobject.customizers.Mapper;
+import org.skife.jdbi.v2.sqlobject.mixins.CloseMe;
+import org.skife.jdbi.v2.sqlobject.mixins.Transactional;
+import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTemplate3;
+import org.skife.jdbi.v2.tweak.ResultSetMapper;
+
+import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContextBinder;
+import com.ning.billing.util.dao.BinderBase;
+import com.ning.billing.util.dao.MapperBase;
+import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.queue.PersistentQueueEntryLifecycle.PersistentQueueEntryLifecycleState;
+
+
+@ExternalizedSqlViaStringTemplate3()
+public interface ExtBusSqlDao extends Transactional<ExtBusSqlDao>, CloseMe {
+
+
+ @SqlQuery
+ @Mapper(ExtBusSqlMapper.class)
+ public ExtBusEventEntry getNextBusExtEventEntry(@Bind("max") int max,
+ @Bind("owner") String owner,
+ @Bind("now") Date now,
+ @InternalTenantContextBinder final InternalTenantContext context);
+
+ @SqlUpdate
+ public int claimBusExtEvent(@Bind("owner") String owner,
+ @Bind("nextAvailable") Date nextAvailable,
+ @Bind("recordId") Long id,
+ @Bind("now") Date now,
+ @InternalTenantContextBinder final InternalCallContext context);
+
+ @SqlUpdate
+ public void clearBusExtEvent(@Bind("recordId") Long id,
+ @Bind("owner") String owner,
+ @InternalTenantContextBinder final InternalCallContext context);
+
+ @SqlUpdate
+ public void removeBusExtEventsById(@Bind("recordId") Long id,
+ @InternalTenantContextBinder final InternalCallContext context);
+
+ @SqlUpdate
+ public void insertBusExtEvent(@Bind(binder = ExtBusSqlBinder.class) ExtBusEventEntry evt,
+ @InternalTenantContextBinder final InternalCallContext context);
+
+ @SqlUpdate
+ public void insertClaimedExtHistory(@Bind("ownerId") String owner,
+ @Bind("claimedDate") Date claimedDate,
+ @Bind("busEventId") long id,
+ @InternalTenantContextBinder final InternalCallContext context);
+
+ public static class ExtBusSqlBinder extends BinderBase implements Binder<Bind, ExtBusEventEntry> {
+
+ @Override
+ public void bind(@SuppressWarnings("rawtypes") final SQLStatement stmt, final Bind bind, final ExtBusEventEntry evt) {
+ stmt.bind("eventType", evt.getExtBusType().toString());
+ stmt.bind("objectId", evt.getObjectId().toString());
+ stmt.bind("objectType", evt.getObjectType().toString());
+ stmt.bind("createdDate", getDate(new DateTime()));
+ stmt.bind("creatingOwner", evt.getCreatedOwner());
+ stmt.bind("processingAvailableDate", getDate(evt.getNextAvailableDate()));
+ stmt.bind("processingOwner", evt.getOwner());
+ stmt.bind("processingState", PersistentQueueEntryLifecycleState.AVAILABLE.toString());
+ }
+ }
+
+ public static class ExtBusSqlMapper extends MapperBase implements ResultSetMapper<ExtBusEventEntry> {
+
+ @Override
+ public ExtBusEventEntry map(final int index, final ResultSet r, final StatementContext ctx)
+ throws SQLException {
+ final Long recordId = r.getLong("record_id");
+ final ExtBusEventType eventType = ExtBusEventType.valueOf(r.getString("event_type"));
+ final UUID objectId = getUUID(r, "object_id");
+ final ObjectType objectType = ObjectType.valueOf(r.getString("object_type"));
+ final String createdOwner = r.getString("creating_owner");
+ final DateTime nextAvailableDate = getDateTime(r, "processing_available_date");
+ final String processingOwner = r.getString("processing_owner");
+ final PersistentQueueEntryLifecycleState processingState = PersistentQueueEntryLifecycleState.valueOf(r.getString("processing_state"));
+ final Long accountRecordId = r.getLong("account_record_id");
+ final Long tenantRecordId = r.getLong("tenant_record_id");
+ return new ExtBusEventEntry(recordId, createdOwner, processingOwner, nextAvailableDate, processingState,
+ objectType, objectId, eventType, accountRecordId, tenantRecordId);
+ }
+ }
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java
new file mode 100644
index 0000000..414549c
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.extbus;
+
+import java.util.UUID;
+
+import com.ning.billing.beatrix.bus.BusEvent;
+import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.util.dao.ObjectType;
+
+public class DefaultBusEvent implements BusEvent {
+
+ private final ExtBusEventType eventType;
+ private final ObjectType objectType;
+ private final UUID objectId;
+ private final UUID accountId;
+ private final UUID tenantId;
+
+
+ public DefaultBusEvent(final ExtBusEventType eventType,
+ final ObjectType objectType,
+ final UUID objectId,
+ final UUID accountId,
+ final UUID tenantId) {
+ this.eventType = eventType;
+ this.objectId = objectId;
+ this.objectType = objectType;
+ this.accountId = accountId;
+ this.tenantId = tenantId;
+ }
+
+ @Override
+ public ExtBusEventType getEventType() {
+ return eventType;
+ }
+
+ @Override
+ public ObjectType getObjectType() {
+ return objectType;
+ }
+
+ @Override
+ public UUID getObjectId() {
+ return objectId;
+ }
+
+ @Override
+ public UUID getAccountId() {
+ return accountId;
+ }
+
+ @Override
+ public UUID getTenantId() {
+ return tenantId;
+ }
+
+ @Override
+ public String toString() {
+ return "DefaultBusEvent [eventType=" + eventType + ", objectType="
+ + objectType + ", objectId=" + objectId + ", accountId="
+ + accountId + ", tenantId=" + tenantId + "]";
+ }
+
+
+
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java
new file mode 100644
index 0000000..9cec260
--- /dev/null
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.beatrix.extbus;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+
+import org.skife.jdbi.v2.IDBI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.ning.billing.beatrix.bus.BusEvent;
+import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.extbus.dao.ExtBusEventEntry;
+import com.ning.billing.beatrix.extbus.dao.ExtBusSqlDao;
+import com.ning.billing.util.Hostname;
+import com.ning.billing.util.bus.DefaultBusService;
+import com.ning.billing.util.bus.PersistentBusConfig;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalCallContextFactory;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.queue.PersistentQueueBase;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
+
+import com.google.common.eventbus.EventBus;
+import com.google.inject.Inject;
+
+public class PersistentExternalBus extends PersistentQueueBase implements ExternalBus {
+
+ private static final long DELTA_IN_PROCESSING_TIME_MS = 1000L * 60L * 5L; // 5 minutes
+ private static final int MAX_BUS_EVENTS = 1;
+
+ private static final Logger log = LoggerFactory.getLogger(PersistentExternalBus.class);
+
+ private final ExtBusSqlDao dao;
+
+ private final EventBusDelegate eventBusDelegate;
+ private final Clock clock;
+ private final String hostname;
+ private final InternalCallContextFactory internalCallContextFactory;
+
+ private static final class EventBusDelegate extends EventBus {
+
+ public EventBusDelegate(final String busName) {
+ super(busName);
+ }
+
+ // STEPH we can't override the method because EventHandler is package private scope
+ // Logged a bug against guava (Issue 981)
+ /*
+ @Override
+ protected void dispatch(Object event, EventHandler wrapper) {
+ try {
+ wrapper.handleEvent(event);
+ } catch (InvocationTargetException e) {
+ logger.log(Level.SEVERE,
+ "Could not dispatch event: " + event + " to handler " + wrapper, e);
+ }
+ }
+ */
+ }
+
+ @Inject
+ public PersistentExternalBus(final IDBI dbi, final Clock clock, final PersistentBusConfig config, final InternalCallContextFactory internalCallContextFactory) {
+ super("Bus", Executors.newFixedThreadPool(config.getNbThreads(), new ThreadFactory() {
+ @Override
+ public Thread newThread(final Runnable r) {
+ return new Thread(new ThreadGroup(DefaultBusService.EVENT_BUS_GROUP_NAME),
+ r,
+ DefaultBusService.EVENT_BUS_TH_NAME);
+ }
+ }), config.getNbThreads(), config);
+ this.dao = dbi.onDemand(ExtBusSqlDao.class);
+ this.clock = clock;
+ this.eventBusDelegate = new EventBusDelegate("Killbill EventBus");
+ this.hostname = Hostname.get();
+ this.internalCallContextFactory = internalCallContextFactory;
+ }
+
+ public void start() {
+ startQueue();
+ }
+
+ public void stop() {
+ stopQueue();
+ }
+
+ @Override
+ public int doProcessEvents() {
+
+ // TODO API_FIX Retrieving and clearing bus events is not done per tenant so pass default INTERNAL_TENANT_RECORD_ID; not sure this is something we want to do anyway ?
+ final InternalCallContext context = internalCallContextFactory.createInternalCallContext(InternalCallContextFactory.INTERNAL_TENANT_RECORD_ID, null, "ExtPersistentBus", CallOrigin.INTERNAL, UserType.SYSTEM, null);
+ final List<ExtBusEventEntry> events = getNextBusEvent(context);
+ if (events.size() == 0) {
+ return 0;
+ }
+
+ int result = 0;
+ for (final ExtBusEventEntry cur : events) {
+
+ // API_FIX How do we get UUID from recordId ?
+ final UUID accountId = null;
+ final UUID tenantId = null;
+ final BusEvent event = new DefaultBusEvent(cur.getExtBusType(), cur.getObjectType(), cur.getObjectId(), accountId, tenantId);
+ result++;
+ // STEPH exception handling is done by GUAVA-- logged a bug Issue-780
+ eventBusDelegate.post(event);
+ final InternalCallContext rehydratedContext = internalCallContextFactory.createInternalCallContext(cur.getTenantRecordId(), cur.getAccountRecordId(), context);
+ dao.clearBusExtEvent(cur.getId(), hostname, rehydratedContext);
+ }
+ return result;
+ }
+
+ private List<ExtBusEventEntry> getNextBusEvent(final InternalCallContext context) {
+ final Date now = clock.getUTCNow().toDate();
+ final Date nextAvailable = clock.getUTCNow().plus(DELTA_IN_PROCESSING_TIME_MS).toDate();
+
+ final ExtBusEventEntry input = dao.getNextBusExtEventEntry(MAX_BUS_EVENTS, hostname, now, context);
+ if (input == null) {
+ return Collections.emptyList();
+ }
+
+ // We need to re-hydrate the context with the record ids from the ExtBusEventEntry
+ final InternalCallContext rehydratedContext = internalCallContextFactory.createInternalCallContext(input.getTenantRecordId(), input.getAccountRecordId(), context);
+ final boolean claimed = (dao.claimBusExtEvent(hostname, nextAvailable, input.getId(), now, rehydratedContext) == 1);
+ if (claimed) {
+ dao.insertClaimedExtHistory(hostname, now, input.getId(), rehydratedContext);
+ return Collections.singletonList(input);
+ }
+ return Collections.emptyList();
+ }
+
+ @Override
+ public void register(final Object handlerInstance) /* throws EventBusException */ {
+ eventBusDelegate.register(handlerInstance);
+ }
+
+ @Override
+ public void unregister(final Object handlerInstance) /* throws EventBusException */ {
+ eventBusDelegate.unregister(handlerInstance);
+ }
+
+ public void post(final ExtBusEventEntry event, InternalCallContext context) throws EventBusException{
+ dao.insertBusExtEvent(event, context);
+ }
+}
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java b/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
index 02da6c9..3d46bb0 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
@@ -16,15 +16,23 @@
package com.ning.billing.beatrix.glue;
-import com.google.inject.AbstractModule;
+import com.ning.billing.beatrix.DefaultBeatrixService;
+import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.extbus.BeatrixListener;
+import com.ning.billing.beatrix.extbus.PersistentExternalBus;
import com.ning.billing.beatrix.lifecycle.DefaultLifecycle;
import com.ning.billing.beatrix.lifecycle.Lifecycle;
+import com.google.inject.AbstractModule;
+
public class BeatrixModule extends AbstractModule {
@Override
protected void configure() {
bind(Lifecycle.class).to(DefaultLifecycle.class).asEagerSingleton();
+ bind(DefaultBeatrixService.class).asEagerSingleton();
+ bind(ExternalBus.class).to(PersistentExternalBus.class).asEagerSingleton();
+ bind(BeatrixListener.class).asEagerSingleton();
}
}
diff --git a/beatrix/src/main/resources/com/ning/billing/beatrix/ddl.sql b/beatrix/src/main/resources/com/ning/billing/beatrix/ddl.sql
new file mode 100644
index 0000000..13857a7
--- /dev/null
+++ b/beatrix/src/main/resources/com/ning/billing/beatrix/ddl.sql
@@ -0,0 +1,31 @@
+
+
+DROP TABLE IF EXISTS bus_ext_events;
+CREATE TABLE bus_ext_events (
+ record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
+ event_type varchar(32) NOT NULL,
+ object_id varchar(64) NOT NULL,
+ object_type varchar(32) NOT NULL,
+ created_date datetime NOT NULL,
+ creating_owner char(50) NOT NULL,
+ processing_owner char(50) DEFAULT NULL,
+ processing_available_date datetime DEFAULT NULL,
+ processing_state varchar(14) DEFAULT 'AVAILABLE',
+ account_record_id int(11) unsigned default null,
+ tenant_record_id int(11) unsigned default null,
+ PRIMARY KEY(record_id)
+) ENGINE=innodb;
+CREATE INDEX `idx_bus_ext_where` ON bus_ext_events (`processing_state`,`processing_owner`,`processing_available_date`);
+CREATE INDEX bus_ext_events_tenant_account_record_id ON bus_ext_events(tenant_record_id, account_record_id);
+
+DROP TABLE IF EXISTS claimed_bus_ext_events;
+CREATE TABLE claimed_bus_ext_events (
+ record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
+ owner_id varchar(64) NOT NULL,
+ claimed_date datetime NOT NULL,
+ bus_event_id char(36) NOT NULL,
+ account_record_id int(11) unsigned default null,
+ tenant_record_id int(11) unsigned default null,
+ PRIMARY KEY(record_id)
+) ENGINE=innodb;
+CREATE INDEX claimed_bus_ext_events_tenant_account_record_id ON claimed_bus_ext_events(tenant_record_id, account_record_id);
diff --git a/beatrix/src/main/resources/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.sql.stg b/beatrix/src/main/resources/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.sql.stg
new file mode 100644
index 0000000..897d273
--- /dev/null
+++ b/beatrix/src/main/resources/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.sql.stg
@@ -0,0 +1,104 @@
+group ExtBusSqlDao;
+
+CHECK_TENANT() ::= "tenant_record_id = :tenantRecordId"
+AND_CHECK_TENANT() ::= "AND <CHECK_TENANT()>"
+
+getNextBusExtEventEntry() ::= <<
+ select
+ record_id
+ , event_type
+ , object_id
+ , object_type
+ , created_date
+ , creating_owner
+ , processing_owner
+ , processing_available_date
+ , processing_state
+ , account_record_id
+ , tenant_record_id
+ from bus_ext_events
+ where
+ processing_state != 'PROCESSED'
+ and processing_state != 'REMOVED'
+ and (processing_owner IS NULL OR processing_available_date \<= :now)
+ order by
+ record_id asc
+ limit :max
+ ;
+>>
+
+
+claimBusExtEvent() ::= <<
+ update bus_ext_events
+ set
+ processing_owner = :owner
+ , processing_available_date = :nextAvailable
+ , processing_state = 'IN_PROCESSING'
+ where
+ record_id = :recordId
+ and processing_state != 'PROCESSED'
+ and processing_state != 'REMOVED'
+ and (processing_owner IS NULL OR processing_available_date \<= :now)
+ ;
+>>
+
+clearBusExtEvent() ::= <<
+ update bus_ext_events
+ set
+ processing_state = 'PROCESSED'
+ where
+ record_id = :recordId
+ ;
+>>
+
+removeBusExtEventsById() ::= <<
+ update bus_ext_events
+ set
+ processing_state = 'REMOVED'
+ where
+ record_id = :recordId
+ ;
+>>
+
+
+insertBusExtEvent() ::= <<
+ insert into bus_ext_events (
+ event_type
+ , object_id
+ , object_type
+ , created_date
+ , creating_owner
+ , processing_owner
+ , processing_available_date
+ , processing_state
+ , account_record_id
+ , tenant_record_id
+ ) values (
+ :eventType
+ , :objectId
+ , :objectType
+ , :createdDate
+ , :creatingOwner
+ , :processingOwner
+ , :processingAvailableDate
+ , :processingState
+ , :accountRecordId
+ , :tenantRecordId
+ );
+>>
+
+insertClaimedExtHistory() ::= <<
+ insert into claimed_bus_ext_events (
+ owner_id
+ , claimed_date
+ , bus_event_id
+ , account_record_id
+ , tenant_record_id
+ ) values (
+ :ownerId
+ , :claimedDate
+ , :busEventId
+ , :accountRecordId
+ , :tenantRecordId
+ );
+>>
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
index e8ac36a..09c1f17 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
@@ -16,6 +16,8 @@
package com.ning.billing.beatrix.integration;
+import static org.testng.Assert.assertNotNull;
+
import java.io.IOException;
import java.net.URL;
import java.util.Set;
@@ -23,14 +25,14 @@ import java.util.Set;
import org.skife.config.ConfigurationObjectFactory;
import org.skife.jdbi.v2.IDBI;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
import com.ning.billing.account.api.AccountService;
import com.ning.billing.account.glue.DefaultAccountModule;
import com.ning.billing.analytics.setup.AnalyticsModule;
+import com.ning.billing.beatrix.DefaultBeatrixService;
+import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.extbus.BeatrixListener;
+import com.ning.billing.beatrix.extbus.PersistentExternalBus;
import com.ning.billing.beatrix.integration.overdue.IntegrationTestOverdueModule;
import com.ning.billing.beatrix.lifecycle.DefaultLifecycle;
import com.ning.billing.beatrix.lifecycle.Lifecycle;
@@ -52,7 +54,6 @@ import com.ning.billing.overdue.OverdueService;
import com.ning.billing.payment.api.PaymentService;
import com.ning.billing.payment.glue.PaymentModule;
import com.ning.billing.payment.provider.MockPaymentProviderPluginModule;
-import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.email.EmailModule;
@@ -63,8 +64,12 @@ import com.ning.billing.util.glue.CustomFieldModule;
import com.ning.billing.util.glue.GlobalLockerModule;
import com.ning.billing.util.glue.NotificationQueueModule;
import com.ning.billing.util.glue.TagStoreModule;
+import com.ning.billing.util.svcsapi.bus.BusService;
-import static org.testng.Assert.assertNotNull;
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
public class BeatrixModule extends AbstractModule {
@@ -110,6 +115,14 @@ public class BeatrixModule extends AbstractModule {
bind(InvoiceChecker.class).asEagerSingleton();
bind(PaymentChecker.class).asEagerSingleton();
+
+ installPublicBus();
+ }
+
+ private void installPublicBus() {
+ bind(ExternalBus.class).to(PersistentExternalBus.class).asEagerSingleton();
+ bind(BeatrixListener.class).asEagerSingleton();
+ bind(DefaultBeatrixService.class).asEagerSingleton();
}
private static final class PaymentPluginMockModule extends PaymentModule {
@@ -146,6 +159,7 @@ public class BeatrixModule extends AbstractModule {
.add(injector.getInstance(InvoiceService.class))
.add(injector.getInstance(PaymentService.class))
.add(injector.getInstance(OverdueService.class))
+ .add(injector.getInstance(DefaultBeatrixService.class))
.build();
return services;
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
index 0d3e8f8..df37da6 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
@@ -16,6 +16,10 @@
package com.ning.billing.beatrix.integration;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
+
import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
@@ -43,6 +47,7 @@ import com.ning.billing.api.TestApiListener;
import com.ning.billing.api.TestApiListener.NextEvent;
import com.ning.billing.api.TestListenerStatus;
import com.ning.billing.beatrix.BeatrixTestSuiteWithEmbeddedDB;
+import com.ning.billing.beatrix.bus.ExternalBus;
import com.ning.billing.beatrix.lifecycle.Lifecycle;
import com.ning.billing.beatrix.util.InvoiceChecker;
import com.ning.billing.beatrix.util.PaymentChecker;
@@ -76,18 +81,14 @@ import com.ning.billing.payment.api.PaymentApiException;
import com.ning.billing.payment.api.PaymentMethodPlugin;
import com.ning.billing.payment.provider.MockPaymentProviderPlugin;
import com.ning.billing.util.api.TagUserApi;
-import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcsapi.bus.BusService;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.inject.Inject;
import com.google.inject.name.Named;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.fail;
-
public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implements TestListenerStatus {
protected static final DateTimeZone testTimeZone = DateTimeZone.UTC;
@@ -172,6 +173,10 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
@Inject
protected PaymentChecker paymentChecker;
+
+ @Inject
+ protected ExternalBus externalBus;
+
protected TestApiListener busHandler;
private boolean isListenerFailed;
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
new file mode 100644
index 0000000..80ebcf5
--- /dev/null
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.beatrix.integration;
+
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.joda.time.DateTime;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Guice;
+import org.testng.annotations.Test;
+
+import com.ning.billing.account.api.Account;
+import com.ning.billing.api.TestApiListener.NextEvent;
+import com.ning.billing.beatrix.bus.BusEvent;
+import com.ning.billing.catalog.api.BillingPeriod;
+import com.ning.billing.catalog.api.PlanPhaseSpecifier;
+import com.ning.billing.catalog.api.PriceListSet;
+import com.ning.billing.catalog.api.ProductCategory;
+import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.entitlement.api.user.SubscriptionData;
+
+import com.google.common.eventbus.Subscribe;
+
+@Guice(modules = {BeatrixModule.class})
+public class TestPublicBus extends TestIntegrationBase {
+
+ private PublicListener publicListener;
+
+
+ public class PublicListener {
+ @Subscribe
+ public void handleExternalEvents(final BusEvent event) {
+ log.info("GOT EXT EVENT " + event.toString());
+ }
+ }
+
+ @Override
+ @BeforeMethod(groups = "slow")
+ public void setupTest() throws Exception {
+
+ publicListener = new PublicListener();
+
+ log.warn("\n");
+ log.warn("RESET TEST FRAMEWORK\n\n");
+
+ clock.resetDeltaFromReality();
+ resetTestListenerStatus();
+ busHandler.reset();
+
+ // Start services
+ lifecycle.fireStartupSequencePriorEventRegistration();
+ busService.getBus().register(busHandler);
+ externalBus.register(publicListener);
+ lifecycle.fireStartupSequencePostEventRegistration();
+ }
+
+
+ @Test(groups= "{slow}")
+ public void testSimple() throws Exception {
+
+ final DateTime initialDate = new DateTime(2012, 2, 1, 0, 3, 42, 0, testTimeZone);
+ final int billingDay = 2;
+
+ log.info("Beginning test with BCD of " + billingDay);
+ final Account account = createAccountWithPaymentMethod(getAccountData(billingDay));
+ final UUID accountId = account.getId();
+ assertNotNull(account);
+
+ // set clock to the initial start date
+ clock.setDeltaFromReality(initialDate.getMillis() - clock.getUTCNow().getMillis());
+ final SubscriptionBundle bundle = entitlementUserApi.createBundleForAccount(account.getId(), "whatever2", callContext);
+
+ String productName = "Shotgun";
+ BillingPeriod term = BillingPeriod.MONTHLY;
+ String planSetName = PriceListSet.DEFAULT_PRICELIST_NAME;
+
+ //
+ // CREATE SUBSCRIPTION AND EXPECT BOTH EVENTS: NextEvent.CREATE NextEvent.INVOICE
+ //
+ busHandler.pushExpectedEvent(NextEvent.CREATE);
+ busHandler.pushExpectedEvent(NextEvent.INVOICE);
+
+ SubscriptionData subscription = subscriptionDataFromSubscription(entitlementUserApi.createSubscription(bundle.getId(),
+ new PlanPhaseSpecifier(productName, ProductCategory.BASE, term, planSetName, null), null, callContext));
+
+ assertNotNull(subscription);
+ assertTrue(busHandler.isCompleted(DELAY));
+ }
+
+
+
+
+}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/DefaultRepairEntitlementEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/DefaultRepairEntitlementEvent.java
index 77199dc..cfe4a1c 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/DefaultRepairEntitlementEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/DefaultRepairEntitlementEvent.java
@@ -48,8 +48,8 @@ public class DefaultRepairEntitlementEvent extends DefaultBusInternalEvent imple
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.BUNDLE_REPAIR;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.BUNDLE_REPAIR;
}
@Override
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionEvent.java
index 68507fd..0092b7c 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionEvent.java
@@ -113,8 +113,8 @@ public abstract class DefaultSubscriptionEvent extends DefaultBusInternalEvent i
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.SUBSCRIPTION_TRANSITION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.SUBSCRIPTION_TRANSITION;
}
@JsonProperty("eventId")
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
index 937ee8e..a94ffc5 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
@@ -63,8 +63,8 @@ import com.ning.billing.util.notificationq.NotificationQueueService;
import com.ning.billing.util.notificationq.NotificationQueueService.NoSuchNotificationQueue;
import com.ning.billing.util.notificationq.NotificationQueueService.NotificationQueueAlreadyExists;
import com.ning.billing.util.notificationq.NotificationQueueService.NotificationQueueHandler;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.inject.Inject;
@@ -79,7 +79,7 @@ public class Engine implements EventListener, EntitlementService {
private final EntitlementDao dao;
private final PlanAligner planAligner;
private final AddonUtils addonUtils;
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final EntitlementConfig config;
private final NotificationQueueService notificationQueueService;
private final SubscriptionFactory subscriptionFactory;
@@ -90,7 +90,7 @@ public class Engine implements EventListener, EntitlementService {
@Inject
public Engine(final Clock clock, final EntitlementDao dao, final PlanAligner planAligner,
final EntitlementConfig config,
- final AddonUtils addonUtils, final Bus eventBus,
+ final AddonUtils addonUtils, final InternalBus eventBus,
final NotificationQueueService notificationQueueService,
final SubscriptionFactory subscriptionFactory,
final InternalCallContextFactory internalCallContextFactory) {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/AuditedEntitlementDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/AuditedEntitlementDao.java
index 755fa23..e7ce114 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/AuditedEntitlementDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/AuditedEntitlementDao.java
@@ -76,8 +76,8 @@ import com.ning.billing.util.notificationq.NotificationKey;
import com.ning.billing.util.notificationq.NotificationQueue;
import com.ning.billing.util.notificationq.NotificationQueueService;
import com.ning.billing.util.notificationq.NotificationQueueService.NoSuchNotificationQueue;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -93,11 +93,11 @@ public class AuditedEntitlementDao implements EntitlementDao {
private final EntitlementEventSqlDao eventsDao;
private final NotificationQueueService notificationQueueService;
private final AddonUtils addonUtils;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
public AuditedEntitlementDao(final IDBI dbi, final Clock clock, final AddonUtils addonUtils,
- final NotificationQueueService notificationQueueService, final Bus eventBus, final CatalogService catalogService) {
+ final NotificationQueueService notificationQueueService, final InternalBus eventBus, final CatalogService catalogService) {
this.clock = clock;
this.subscriptionsDao = dbi.onDemand(SubscriptionSqlDao.class);
this.eventsDao = dbi.onDemand(EntitlementEventSqlDao.class);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoSql.java
index e525e46..048ab21 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoSql.java
@@ -20,7 +20,7 @@ import org.skife.jdbi.v2.IDBI;
import com.ning.billing.catalog.api.CatalogService;
import com.ning.billing.entitlement.engine.addon.AddonUtils;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.notificationq.NotificationQueueService;
@@ -29,7 +29,7 @@ import com.google.inject.Inject;
public class MockEntitlementDaoSql extends AuditedEntitlementDao {
@Inject
public MockEntitlementDaoSql(final IDBI dbi, final Clock clock, final AddonUtils addonUtils, final NotificationQueueService notificationQueueService,
- final Bus eventBus, final CatalogService catalogService) {
+ final InternalBus eventBus, final CatalogService catalogService) {
super(dbi, clock, addonUtils, notificationQueueService, eventBus, catalogService);
}
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java b/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
index aa28c01..5d31d58 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/DefaultInvoiceService.java
@@ -21,7 +21,7 @@ import com.ning.billing.invoice.TagHandler;
import com.ning.billing.invoice.notification.NextBillingDateNotifier;
import com.ning.billing.lifecycle.LifecycleHandlerType;
import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.notificationq.NotificationQueueService.NoSuchNotificationQueue;
import com.ning.billing.util.notificationq.NotificationQueueService.NotificationQueueAlreadyExists;
@@ -33,10 +33,10 @@ public class DefaultInvoiceService implements InvoiceService {
private final NextBillingDateNotifier dateNotifier;
private final InvoiceListener invoiceListener;
private final TagHandler tagHandler;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
- public DefaultInvoiceService(final InvoiceListener invoiceListener, final TagHandler tagHandler, final Bus eventBus, final NextBillingDateNotifier dateNotifier) {
+ public DefaultInvoiceService(final InvoiceListener invoiceListener, final TagHandler tagHandler, final InternalBus eventBus, final NextBillingDateNotifier dateNotifier) {
this.invoiceListener = invoiceListener;
this.tagHandler = tagHandler;
this.eventBus = eventBus;
@@ -63,7 +63,7 @@ public class DefaultInvoiceService implements InvoiceService {
try {
eventBus.register(invoiceListener);
eventBus.register(tagHandler);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
throw new RuntimeException("Unable to register to the EventBus!", e);
}
}
@@ -73,7 +73,7 @@ public class DefaultInvoiceService implements InvoiceService {
try {
eventBus.unregister(invoiceListener);
eventBus.unregister(tagHandler);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
throw new RuntimeException("Unable to unregister to the EventBus!", e);
}
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceAdjustmentEvent.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceAdjustmentEvent.java
index 64913da..614431e 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceAdjustmentEvent.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceAdjustmentEvent.java
@@ -53,8 +53,8 @@ public class DefaultInvoiceAdjustmentEvent extends DefaultBusInternalEvent imple
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.INVOICE_ADJUSTMENT;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.INVOICE_ADJUSTMENT;
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationEvent.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationEvent.java
index 0e5c678..6c4d2c8 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationEvent.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationEvent.java
@@ -51,8 +51,8 @@ public class DefaultInvoiceCreationEvent extends DefaultBusInternalEvent impleme
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.INVOICE_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.INVOICE_CREATION;
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
index b1fe43b..5de9673 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
@@ -52,8 +52,8 @@ import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
@@ -69,10 +69,10 @@ public class DefaultInvoiceUserApi implements InvoiceUserApi {
private final TagInternalApi tagApi;
private final HtmlInvoiceGenerator generator;
private final InternalCallContextFactory internalCallContextFactory;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
- public DefaultInvoiceUserApi(final InvoiceDao dao, final InvoiceDispatcher dispatcher, final AccountInternalApi accountUserApi, final Bus eventBus,
+ public DefaultInvoiceUserApi(final InvoiceDao dao, final InvoiceDispatcher dispatcher, final AccountInternalApi accountUserApi, final InternalBus eventBus,
final TagInternalApi tagApi, final HtmlInvoiceGenerator generator, final InternalCallContextFactory internalCallContextFactory) {
this.dao = dao;
this.dispatcher = dispatcher;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultNullInvoiceEvent.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultNullInvoiceEvent.java
index 7cf9b09..059dde1 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultNullInvoiceEvent.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultNullInvoiceEvent.java
@@ -45,8 +45,8 @@ public class DefaultNullInvoiceEvent extends DefaultBusInternalEvent implements
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.INVOICE_EMPTY;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.INVOICE_EMPTY;
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/AuditedInvoiceDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/AuditedInvoiceDao.java
index b1789e0..ab3cc17 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/AuditedInvoiceDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/AuditedInvoiceDao.java
@@ -58,8 +58,8 @@ import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.dao.EntityAudit;
import com.ning.billing.util.dao.TableName;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
@@ -77,13 +77,13 @@ public class AuditedInvoiceDao implements InvoiceDao {
private final NextBillingDatePoster nextBillingDatePoster;
private final InvoiceItemSqlDao invoiceItemSqlDao;
private final Clock clock;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
public AuditedInvoiceDao(final IDBI dbi,
final NextBillingDatePoster nextBillingDatePoster,
final Clock clock,
- final Bus eventBus) {
+ final InternalBus eventBus) {
this.invoiceSqlDao = dbi.onDemand(InvoiceSqlDao.class);
this.invoicePaymentSqlDao = dbi.onDemand(InvoicePaymentSqlDao.class);
this.invoiceItemSqlDao = dbi.onDemand(InvoiceItemSqlDao.class);
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
index 4c8ba26..bd9fa92 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
@@ -61,8 +61,8 @@ import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
import com.ning.billing.util.svcapi.junction.BillingEventSet;
import com.ning.billing.util.svcapi.junction.BillingInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -80,7 +80,7 @@ public class InvoiceDispatcher {
private final InvoiceDao invoiceDao;
private final InvoiceNotifier invoiceNotifier;
private final GlobalLocker locker;
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final Clock clock;
private final InternalCallContextFactory internalCallContextFactory;
@@ -91,7 +91,7 @@ public class InvoiceDispatcher {
final InvoiceDao invoiceDao,
final InvoiceNotifier invoiceNotifier,
final GlobalLocker locker,
- final Bus eventBus,
+ final InternalBus eventBus,
final Clock clock,
final InternalCallContextFactory internalCallContextFactory) {
this.generator = generator;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/invoice/TestDefaultInvoicePaymentApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/invoice/TestDefaultInvoicePaymentApi.java
index cbe61de..3f14f86 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/invoice/TestDefaultInvoicePaymentApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/invoice/TestDefaultInvoicePaymentApi.java
@@ -50,7 +50,7 @@ import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -80,7 +80,7 @@ public class TestDefaultInvoicePaymentApi extends InvoiceTestSuiteWithEmbeddedDB
final NextBillingDatePoster nextBillingDatePoster = new MockNextBillingDatePoster();
internalCallContextFactory = new InternalCallContextFactory(dbi, clock);
- final InvoiceDao invoiceDao = new AuditedInvoiceDao(dbi, nextBillingDatePoster, clock, Mockito.mock(Bus.class));
+ final InvoiceDao invoiceDao = new AuditedInvoiceDao(dbi, nextBillingDatePoster, clock, Mockito.mock(InternalBus.class));
invoicePaymentApi = new DefaultInvoicePaymentApi(invoiceDao, internalCallContextFactory);
}
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 01a6bff..7af8b5e 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
@@ -35,10 +35,10 @@ import com.ning.billing.invoice.glue.InvoiceModuleWithEmbeddedDb;
import com.ning.billing.invoice.notification.MockNextBillingDatePoster;
import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.invoice.tests.InvoicingTestBase;
-import com.ning.billing.util.bus.InMemoryBus;
+import com.ning.billing.util.bus.InMemoryInternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.tag.api.user.TagEventBuilder;
public class InvoiceDaoTestBase extends InvoicingTestBase {
@@ -50,7 +50,7 @@ public class InvoiceDaoTestBase extends InvoicingTestBase {
protected InvoicePaymentSqlDao invoicePaymentDao;
protected Clock clock;
protected InvoiceGenerator generator;
- protected Bus bus;
+ protected InternalBus bus;
private final InvoiceConfig invoiceConfig = new InvoiceConfig() {
@Override
@@ -94,7 +94,7 @@ public class InvoiceDaoTestBase extends InvoicingTestBase {
clock = new ClockMock();
- bus = new InMemoryBus();
+ bus = new InMemoryInternalBus();
bus.start();
final NextBillingDatePoster nextBillingDatePoster = new MockNextBillingDatePoster();
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java b/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
index 6c47c67..3f67067 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
@@ -36,18 +36,18 @@ import com.ning.billing.invoice.api.InvoicePayment;
import com.ning.billing.invoice.api.user.DefaultInvoiceCreationEvent;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.inject.Inject;
public class MockInvoiceDao implements InvoiceDao {
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final Object monitor = new Object();
private final Map<UUID, Invoice> invoices = new LinkedHashMap<UUID, Invoice>();
@Inject
- public MockInvoiceDao(final Bus eventBus) {
+ public MockInvoiceDao(final InternalBus eventBus) {
this.eventBus = eventBus;
}
@@ -60,7 +60,7 @@ public class MockInvoiceDao implements InvoiceDao {
eventBus.post(new DefaultInvoiceCreationEvent(invoice.getId(), invoice.getAccountId(),
invoice.getBalance(), invoice.getCurrency(),
null, 1L, 1L), context);
- } catch (Bus.EventBusException ex) {
+ } catch (InternalBus.EventBusException ex) {
throw new RuntimeException(ex);
}
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/TestDefaultInvoiceDao.java b/invoice/src/test/java/com/ning/billing/invoice/dao/TestDefaultInvoiceDao.java
index 7a114a1..b1c6ddc 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/TestDefaultInvoiceDao.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/TestDefaultInvoiceDao.java
@@ -37,7 +37,7 @@ import com.ning.billing.invoice.api.InvoicePayment;
import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.tag.dao.MockTagDao;
import com.ning.billing.util.tag.dao.MockTagDefinitionDao;
import com.ning.billing.util.tag.dao.TagDao;
@@ -72,7 +72,7 @@ public class TestDefaultInvoiceDao extends InvoiceTestSuite {
final NextBillingDatePoster poster = Mockito.mock(NextBillingDatePoster.class);
final TagDefinitionDao tagDefinitionDao = new MockTagDefinitionDao();
final TagDao tagDao = new MockTagDao();
- dao = new AuditedInvoiceDao(idbi, poster, Mockito.mock(Clock.class), Mockito.mock(Bus.class));
+ dao = new AuditedInvoiceDao(idbi, poster, Mockito.mock(Clock.class), Mockito.mock(InternalBus.class));
}
@Test(groups = "fast")
diff --git a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
index 1dec97e..fd17983 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
@@ -66,7 +66,7 @@ import com.ning.billing.util.notificationq.DummySqlTest;
import com.ning.billing.util.notificationq.NotificationQueueService;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
@@ -79,7 +79,7 @@ public class TestNextBillingDateNotifier extends InvoiceTestSuiteWithEmbeddedDB
private Clock clock;
private DefaultNextBillingDateNotifier notifier;
private DummySqlTest dao;
- private Bus eventBus;
+ private InternalBus eventBus;
private InvoiceListenerMock listener;
private NotificationQueueService notificationQueueService;
private InternalCallContextFactory internalCallContextFactory;
@@ -152,7 +152,7 @@ public class TestNextBillingDateNotifier extends InvoiceTestSuiteWithEmbeddedDB
clock = g.getInstance(Clock.class);
final IDBI dbi = g.getInstance(IDBI.class);
dao = dbi.onDemand(DummySqlTest.class);
- eventBus = g.getInstance(Bus.class);
+ eventBus = g.getInstance(InternalBus.class);
notificationQueueService = g.getInstance(NotificationQueueService.class);
final InvoiceDispatcher dispatcher = g.getInstance(InvoiceDispatcher.class);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/tests/TestChargeBacks.java b/invoice/src/test/java/com/ning/billing/invoice/tests/TestChargeBacks.java
index 28f1bc9..5280304 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/tests/TestChargeBacks.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/tests/TestChargeBacks.java
@@ -54,7 +54,7 @@ import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
public class TestChargeBacks extends InvoiceTestSuiteWithEmbeddedDB {
@@ -83,7 +83,7 @@ public class TestChargeBacks extends InvoiceTestSuiteWithEmbeddedDB {
invoiceItemSqlDao.test(internalCallContext);
final NextBillingDatePoster nextBillingDatePoster = new MockNextBillingDatePoster();
internalCallContextFactory = new InternalCallContextFactory(dbi, clock);
- final InvoiceDao invoiceDao = new AuditedInvoiceDao(dbi, nextBillingDatePoster, clock, Mockito.mock(Bus.class));
+ final InvoiceDao invoiceDao = new AuditedInvoiceDao(dbi, nextBillingDatePoster, clock, Mockito.mock(InternalBus.class));
invoicePaymentApi = new DefaultInvoicePaymentApi(invoiceDao, internalCallContextFactory);
}
diff --git a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
index fac42a4..a7494e6 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
@@ -51,8 +51,8 @@ public class DefaultOverdueChangeEvent extends DefaultBusInternalEvent implement
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.OVERDUE_CHANGE;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.OVERDUE_CHANGE;
}
@Override
diff --git a/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java b/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
index e10fb5e..6873c2e 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
@@ -56,7 +56,7 @@ import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
import com.ning.billing.util.svcapi.junction.BlockingInternalApi;
import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.common.collect.ImmutableList;
import com.google.inject.Inject;
@@ -69,7 +69,7 @@ public class OverdueStateApplicator<T extends Blockable> {
private final BlockingInternalApi blockingApi;
private final Clock clock;
private final OverdueCheckPoster poster;
- private final Bus bus;
+ private final InternalBus bus;
private final AccountInternalApi accountApi;
private final EntitlementInternalApi entitlementUserApi;
private final OverdueEmailGenerator overdueEmailGenerator;
@@ -78,7 +78,7 @@ public class OverdueStateApplicator<T extends Blockable> {
@Inject
public OverdueStateApplicator(final BlockingInternalApi accessApi, final AccountInternalApi accountApi, final EntitlementInternalApi entitlementUserApi,
final Clock clock, final OverdueCheckPoster poster, final OverdueEmailGenerator overdueEmailGenerator,
- final EmailConfig config, final Bus bus) {
+ final EmailConfig config, final InternalBus bus) {
this.blockingApi = accessApi;
this.accountApi = accountApi;
this.entitlementUserApi = entitlementUserApi;
diff --git a/overdue/src/main/java/com/ning/billing/overdue/service/DefaultOverdueService.java b/overdue/src/main/java/com/ning/billing/overdue/service/DefaultOverdueService.java
index a128a26..c0879ad 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/service/DefaultOverdueService.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/service/DefaultOverdueService.java
@@ -32,7 +32,7 @@ import com.ning.billing.overdue.api.DefaultOverdueUserApi;
import com.ning.billing.overdue.config.OverdueConfig;
import com.ning.billing.overdue.listener.OverdueListener;
import com.ning.billing.overdue.wrapper.OverdueWrapperFactory;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.config.XMLLoader;
diff --git a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
index c6adba9..c57c398 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
@@ -33,7 +33,7 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueTestBase;
import com.ning.billing.overdue.config.OverdueConfig;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.config.XMLLoader;
import com.ning.billing.util.events.OverdueChangeInternalEvent;
import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@@ -49,7 +49,7 @@ public class TestOverdueStateApplicator extends OverdueTestBase {
OverdueBusListenerTester listener;
@Inject
- Bus bus;
+ InternalBus bus;
@Test(groups = "slow")
public void testApplicator() throws Exception {
diff --git a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
index 31a5d35..6764274 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
@@ -73,7 +73,7 @@ import com.ning.billing.util.notificationq.DefaultNotificationQueueService;
import com.ning.billing.util.notificationq.NotificationQueueService;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.tag.dao.AuditedTagDao;
import com.ning.billing.util.tag.dao.TagDao;
@@ -85,7 +85,7 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
private Clock clock;
private DefaultOverdueCheckNotifier notifier;
- private Bus eventBus;
+ private InternalBus eventBus;
private OverdueListenerMock listener;
private NotificationQueueService notificationQueueService;
@@ -147,7 +147,7 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
clock = g.getInstance(Clock.class);
- eventBus = g.getInstance(Bus.class);
+ eventBus = g.getInstance(InternalBus.class);
notificationQueueService = g.getInstance(NotificationQueueService.class);
final OverdueProperties properties = g.getInstance(OverdueProperties.class);
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentErrorEvent.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentErrorEvent.java
index 9c88a36..836b7db 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentErrorEvent.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentErrorEvent.java
@@ -62,8 +62,8 @@ public class DefaultPaymentErrorEvent extends DefaultBusInternalEvent implements
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.PAYMENT_ERROR;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.PAYMENT_ERROR;
}
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfoEvent.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfoEvent.java
index eb8ea64..055ec46 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfoEvent.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfoEvent.java
@@ -96,8 +96,8 @@ public class DefaultPaymentInfoEvent extends DefaultBusInternalEvent implements
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.PAYMENT_INFO;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.PAYMENT_INFO;
}
@Override
diff --git a/payment/src/main/java/com/ning/billing/payment/bus/InvoiceHandler.java b/payment/src/main/java/com/ning/billing/payment/bus/InvoiceHandler.java
index e2a67e2..749baa3 100644
--- a/payment/src/main/java/com/ning/billing/payment/bus/InvoiceHandler.java
+++ b/payment/src/main/java/com/ning/billing/payment/bus/InvoiceHandler.java
@@ -30,7 +30,6 @@ import com.ning.billing.util.callcontext.DefaultCallContext;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.callcontext.UserType;
-import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.events.InvoiceCreationInternalEvent;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
@@ -41,17 +40,14 @@ public class InvoiceHandler {
private final PaymentProcessor paymentProcessor;
private final AccountInternalApi accountApi;
- private final Clock clock;
private final InternalCallContextFactory internalCallContextFactory;
private static final Logger log = LoggerFactory.getLogger(InvoiceHandler.class);
@Inject
- public InvoiceHandler(final Clock clock,
- final AccountInternalApi accountApi,
+ public InvoiceHandler(final AccountInternalApi accountApi,
final PaymentProcessor paymentProcessor,
final InternalCallContextFactory internalCallContextFactory) {
- this.clock = clock;
this.accountApi = accountApi;
this.paymentProcessor = paymentProcessor;
this.internalCallContextFactory = internalCallContextFactory;
diff --git a/payment/src/main/java/com/ning/billing/payment/core/PaymentMethodProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/PaymentMethodProcessor.java
index 78a8742..ecf7318 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/PaymentMethodProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/PaymentMethodProcessor.java
@@ -47,7 +47,7 @@ import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;
@@ -64,7 +64,7 @@ public class PaymentMethodProcessor extends ProcessorBase {
@Inject
public PaymentMethodProcessor(final PaymentProviderPluginRegistry pluginRegistry,
final AccountInternalApi accountInternalApi,
- final Bus eventBus,
+ final InternalBus eventBus,
final PaymentDao paymentDao,
final TagInternalApi tagUserApi,
final GlobalLocker locker,
diff --git a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
index 5c59ffd..a3b0a3f 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
@@ -66,7 +66,7 @@ import com.ning.billing.util.events.PaymentErrorInternalEvent;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -99,7 +99,7 @@ public class PaymentProcessor extends ProcessorBase {
final PluginFailureRetryServiceScheduler pluginFailureRetryService,
final AutoPayRetryServiceScheduler autoPayoffRetryService,
final PaymentDao paymentDao,
- final Bus eventBus,
+ final InternalBus eventBus,
final Clock clock,
final GlobalLocker locker,
final PaymentConfig paymentConfig,
diff --git a/payment/src/main/java/com/ning/billing/payment/core/ProcessorBase.java b/payment/src/main/java/com/ning/billing/payment/core/ProcessorBase.java
index 22a48fe..e2d489e 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/ProcessorBase.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/ProcessorBase.java
@@ -43,8 +43,8 @@ import com.ning.billing.util.globallocker.GlobalLocker.LockerType;
import com.ning.billing.util.globallocker.LockFailedException;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
@@ -54,7 +54,7 @@ public abstract class ProcessorBase {
protected final PaymentProviderPluginRegistry pluginRegistry;
protected final AccountInternalApi accountInternalApi;
- protected final Bus eventBus;
+ protected final InternalBus eventBus;
protected final GlobalLocker locker;
protected final ExecutorService executor;
protected final PaymentDao paymentDao;
@@ -64,7 +64,7 @@ public abstract class ProcessorBase {
public ProcessorBase(final PaymentProviderPluginRegistry pluginRegistry,
final AccountInternalApi accountInternalApi,
- final Bus eventBus,
+ final InternalBus eventBus,
final PaymentDao paymentDao,
final TagInternalApi tagInternalApi,
final GlobalLocker locker,
diff --git a/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
index c37b6ed..dbc2459 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
@@ -57,7 +57,7 @@ import com.ning.billing.util.callcontext.UserType;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.common.base.Function;
import com.google.common.base.Objects;
@@ -77,7 +77,7 @@ public class RefundProcessor extends ProcessorBase {
public RefundProcessor(final PaymentProviderPluginRegistry pluginRegistry,
final AccountInternalApi accountApi,
final InvoicePaymentApi invoicePaymentApi,
- final Bus eventBus,
+ final InternalBus eventBus,
final InternalCallContextFactory internalCallContextFactory,
final TagInternalApi tagUserApi,
final PaymentDao paymentDao,
diff --git a/payment/src/main/java/com/ning/billing/payment/glue/DefaultPaymentService.java b/payment/src/main/java/com/ning/billing/payment/glue/DefaultPaymentService.java
index 1991433..81f0ef5 100644
--- a/payment/src/main/java/com/ning/billing/payment/glue/DefaultPaymentService.java
+++ b/payment/src/main/java/com/ning/billing/payment/glue/DefaultPaymentService.java
@@ -29,7 +29,7 @@ import com.ning.billing.payment.bus.TagHandler;
import com.ning.billing.payment.retry.AutoPayRetryService;
import com.ning.billing.payment.retry.FailedPaymentRetryService;
import com.ning.billing.payment.retry.PluginFailureRetryService;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.notificationq.NotificationQueueService.NoSuchNotificationQueue;
import com.ning.billing.util.notificationq.NotificationQueueService.NotificationQueueAlreadyExists;
@@ -41,7 +41,7 @@ public class DefaultPaymentService implements PaymentService {
private final InvoiceHandler invoiceHandler;
private final TagHandler tagHandler;
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final PaymentApi api;
private final FailedPaymentRetryService failedRetryService;
private final PluginFailureRetryService timedoutRetryService;
@@ -50,7 +50,7 @@ public class DefaultPaymentService implements PaymentService {
@Inject
public DefaultPaymentService(final InvoiceHandler invoiceHandler,
final TagHandler tagHandler,
- final PaymentApi api, final Bus eventBus,
+ final PaymentApi api, final InternalBus eventBus,
final FailedPaymentRetryService failedRetryService,
final PluginFailureRetryService timedoutRetryService,
final AutoPayRetryService autoPayoffRetryService) {
@@ -80,7 +80,7 @@ public class DefaultPaymentService implements PaymentService {
try {
eventBus.register(invoiceHandler);
eventBus.register(tagHandler);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.error("Unable to register with the EventBus!", e);
}
}
diff --git a/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java b/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
index ade5fd8..a4ad080 100644
--- a/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
+++ b/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
@@ -52,8 +52,8 @@ import com.ning.billing.payment.provider.DefaultNoOpPaymentMethodPlugin;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.glue.CallContextModule;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.inject.Inject;
@@ -62,7 +62,7 @@ public class TestPaymentApi extends PaymentTestSuite {
private static final Logger log = LoggerFactory.getLogger(TestPaymentApi.class);
@Inject
- private Bus eventBus;
+ private InternalBus eventBus;
@Inject
protected PaymentApi paymentApi;
@Inject
diff --git a/payment/src/test/java/com/ning/billing/payment/core/TestPaymentMethodProcessor.java b/payment/src/test/java/com/ning/billing/payment/core/TestPaymentMethodProcessor.java
index 1b73ace..cc75b7c 100644
--- a/payment/src/test/java/com/ning/billing/payment/core/TestPaymentMethodProcessor.java
+++ b/payment/src/test/java/com/ning/billing/payment/core/TestPaymentMethodProcessor.java
@@ -36,7 +36,7 @@ import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
import com.ning.billing.util.svcapi.tag.TagInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
public class TestPaymentMethodProcessor extends PaymentTestSuite {
@@ -48,7 +48,7 @@ public class TestPaymentMethodProcessor extends PaymentTestSuite {
pluginRegistry.register(new ExternalPaymentProviderPlugin(new ClockMock()), ExternalPaymentProviderPlugin.PLUGIN_NAME);
final AccountInternalApi accountUserApi = Mockito.mock(AccountInternalApi.class);
- final Bus bus = Mockito.mock(Bus.class);
+ final InternalBus bus = Mockito.mock(InternalBus.class);
final MockPaymentDao paymentDao = new MockPaymentDao();
final GlobalLocker globalLocker = Mockito.mock(GlobalLocker.class);
final ExecutorService executorService = Mockito.mock(ExecutorService.class);
diff --git a/payment/src/test/java/com/ning/billing/payment/MockInvoiceCreationEvent.java b/payment/src/test/java/com/ning/billing/payment/MockInvoiceCreationEvent.java
index 4590ed2..47359cc 100644
--- a/payment/src/test/java/com/ning/billing/payment/MockInvoiceCreationEvent.java
+++ b/payment/src/test/java/com/ning/billing/payment/MockInvoiceCreationEvent.java
@@ -54,8 +54,8 @@ public class MockInvoiceCreationEvent implements InvoiceCreationInternalEvent {
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.INVOICE_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.INVOICE_CREATION;
}
@Override
diff --git a/payment/src/test/java/com/ning/billing/payment/TestHelper.java b/payment/src/test/java/com/ning/billing/payment/TestHelper.java
index bcdc7ac..001a8ae 100644
--- a/payment/src/test/java/com/ning/billing/payment/TestHelper.java
+++ b/payment/src/test/java/com/ning/billing/payment/TestHelper.java
@@ -42,8 +42,8 @@ import com.ning.billing.util.callcontext.UserType;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.events.InvoiceCreationInternalEvent;
import com.ning.billing.util.svcapi.account.AccountInternalApi;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.svcsapi.bus.Bus.EventBusException;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
import com.google.inject.Inject;
@@ -52,13 +52,13 @@ public class TestHelper {
protected final InvoicePaymentApi invoicePaymentApi;
protected PaymentApi paymentApi;
private final CallContext context;
- private final Bus eventBus;
+ private final InternalBus eventBus;
private final Clock clock;
private final InternalCallContextFactory internalCallContextFactory;
@Inject
public TestHelper(final CallContextFactory factory, final AccountInternalApi AccountApi, final InvoicePaymentApi invoicePaymentApi,
- final PaymentApi paymentApi, final Bus eventBus, final Clock clock, final InternalCallContextFactory internalCallContextFactory) {
+ final PaymentApi paymentApi, final InternalBus eventBus, final Clock clock, final InternalCallContextFactory internalCallContextFactory) {
this.eventBus = eventBus;
this.AccountApi = AccountApi;
this.invoicePaymentApi = invoicePaymentApi;
diff --git a/payment/src/test/java/com/ning/billing/payment/TestRetryService.java b/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
index 20a4996..28cefd5 100644
--- a/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
+++ b/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
@@ -48,7 +48,7 @@ import com.ning.billing.payment.provider.MockPaymentProviderPlugin;
import com.ning.billing.payment.provider.PaymentProviderPluginRegistry;
import com.ning.billing.payment.retry.FailedPaymentRetryService;
import com.ning.billing.payment.retry.PluginFailureRetryService;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.glue.CallContextModule;
@@ -65,7 +65,7 @@ public class TestRetryService extends PaymentTestSuite {
@Inject
private PaymentConfig paymentConfig;
@Inject
- private Bus eventBus;
+ private InternalBus eventBus;
@Inject
private PaymentProcessor paymentProcessor;
@Inject
diff --git a/server/src/main/java/com/ning/billing/server/listeners/KillbillGuiceListener.java b/server/src/main/java/com/ning/billing/server/listeners/KillbillGuiceListener.java
index 8ae4937..862e9d0 100644
--- a/server/src/main/java/com/ning/billing/server/listeners/KillbillGuiceListener.java
+++ b/server/src/main/java/com/ning/billing/server/listeners/KillbillGuiceListener.java
@@ -27,7 +27,7 @@ import com.ning.billing.server.config.KillbillServerConfig;
import com.ning.billing.server.healthchecks.KillbillHealthcheck;
import com.ning.billing.server.modules.KillbillServerModule;
import com.ning.billing.server.security.TenantFilter;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.jetty.base.modules.ServerModuleBuilder;
import com.ning.jetty.core.listeners.SetupServer;
@@ -88,7 +88,7 @@ public class KillbillGuiceListener extends SetupServer {
//
try {
killbillBusService.getBus().register(killbilleventHandler);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
logger.error("Failed to register for event notifications, this is bad exiting!", e);
System.exit(1);
}
@@ -111,7 +111,7 @@ public class KillbillGuiceListener extends SetupServer {
try {
killbillBusService.getBus().unregister(killbilleventHandler);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
logger.warn("Failed to unregister for event notifications", e);
}
diff --git a/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java b/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
index f2874fe..b3ac99d 100644
--- a/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
+++ b/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
@@ -33,7 +33,7 @@ import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.server.ServerTestSuiteWithEmbeddedDB;
import com.ning.billing.tenant.api.DefaultTenant;
import com.ning.billing.tenant.dao.DefaultTenantDao;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.jolbox.bonecp.BoneCPConfig;
import com.jolbox.bonecp.BoneCPDataSource;
@@ -46,7 +46,7 @@ public class TestKillbillJdbcRealm extends ServerTestSuiteWithEmbeddedDB {
@BeforeMethod(groups = "slow")
public void setUp() throws Exception {
// Create the tenant
- final DefaultTenantDao tenantDao = new DefaultTenantDao(getMysqlTestingHelper().getDBI(), Mockito.mock(Bus.class));
+ final DefaultTenantDao tenantDao = new DefaultTenantDao(getMysqlTestingHelper().getDBI(), Mockito.mock(InternalBus.class));
tenant = new DefaultTenant(UUID.randomUUID(), null, null, UUID.randomUUID().toString(),
UUID.randomUUID().toString(), UUID.randomUUID().toString());
tenantDao.create(tenant, internalCallContext);
diff --git a/tenant/src/main/java/com/ning/billing/tenant/dao/DefaultTenantDao.java b/tenant/src/main/java/com/ning/billing/tenant/dao/DefaultTenantDao.java
index e50406a..4fe0f4e 100644
--- a/tenant/src/main/java/com/ning/billing/tenant/dao/DefaultTenantDao.java
+++ b/tenant/src/main/java/com/ning/billing/tenant/dao/DefaultTenantDao.java
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ning.billing.tenant.api.Tenant;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.entity.EntityPersistenceException;
@@ -44,10 +44,10 @@ public class DefaultTenantDao implements TenantDao {
private final RandomNumberGenerator rng = new SecureRandomNumberGenerator();
private final TenantSqlDao tenantSqlDao;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
- public DefaultTenantDao(final IDBI dbi, final Bus eventBus) {
+ public DefaultTenantDao(final IDBI dbi, final InternalBus eventBus) {
this.eventBus = eventBus;
this.tenantSqlDao = dbi.onDemand(TenantSqlDao.class);
}
diff --git a/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java b/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
index c29aa21..990f5fb 100644
--- a/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
+++ b/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
@@ -28,13 +28,13 @@ import org.testng.annotations.Test;
import com.ning.billing.tenant.TenantTestSuiteWithEmbeddedDb;
import com.ning.billing.tenant.api.DefaultTenant;
import com.ning.billing.tenant.security.KillbillCredentialsMatcher;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
public class TestDefaultTenantDao extends TenantTestSuiteWithEmbeddedDb {
@Test(groups = "slow")
public void testWeCanStoreAndMatchCredentials() throws Exception {
- final DefaultTenantDao tenantDao = new DefaultTenantDao(getMysqlTestingHelper().getDBI(), Mockito.mock(Bus.class));
+ final DefaultTenantDao tenantDao = new DefaultTenantDao(getMysqlTestingHelper().getDBI(), Mockito.mock(InternalBus.class));
final DefaultTenant tenant = new DefaultTenant(UUID.randomUUID(), null, null, UUID.randomUUID().toString(),
UUID.randomUUID().toString(), UUID.randomUUID().toString());
diff --git a/util/src/main/java/com/ning/billing/util/bus/DefaultBusService.java b/util/src/main/java/com/ning/billing/util/bus/DefaultBusService.java
index 79e0f87..b3d93bd 100644
--- a/util/src/main/java/com/ning/billing/util/bus/DefaultBusService.java
+++ b/util/src/main/java/com/ning/billing/util/bus/DefaultBusService.java
@@ -18,8 +18,8 @@ package com.ning.billing.util.bus;
import com.ning.billing.lifecycle.LifecycleHandlerType;
import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
-import com.ning.billing.util.svcsapi.bus.Bus;
import com.ning.billing.util.svcsapi.bus.BusService;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.inject.Inject;
@@ -32,10 +32,10 @@ public class DefaultBusService implements BusService {
public static final String EVENT_BUS_SERVICE = "bus-service";
public static final String EVENT_BUS_IDENTIFIER = EVENT_BUS_SERVICE;
- private final Bus eventBus;
+ private final InternalBus eventBus;
@Inject
- public DefaultBusService(final Bus eventBus) {
+ public DefaultBusService(final InternalBus eventBus) {
this.eventBus = eventBus;
}
@@ -55,8 +55,7 @@ public class DefaultBusService implements BusService {
}
@Override
- public Bus getBus() {
+ public InternalBus getBus() {
return eventBus;
}
-
}
diff --git a/util/src/main/java/com/ning/billing/util/events/BusInternalEvent.java b/util/src/main/java/com/ning/billing/util/events/BusInternalEvent.java
index f4eb2c5..c4b2d4a 100644
--- a/util/src/main/java/com/ning/billing/util/events/BusInternalEvent.java
+++ b/util/src/main/java/com/ning/billing/util/events/BusInternalEvent.java
@@ -20,7 +20,7 @@ import java.util.UUID;
public interface BusInternalEvent {
- public enum BusEventType {
+ public enum BusInternalEventType {
ACCOUNT_CREATE,
ACCOUNT_CHANGE,
SUBSCRIPTION_TRANSITION,
@@ -41,7 +41,7 @@ public interface BusInternalEvent {
OVERDUE_CHANGE
}
- public BusEventType getBusEventType();
+ public BusInternalEventType getBusEventType();
public UUID getUserToken();
diff --git a/util/src/main/java/com/ning/billing/util/glue/BusModule.java b/util/src/main/java/com/ning/billing/util/glue/BusModule.java
index 814a2a0..2b8ea6f 100644
--- a/util/src/main/java/com/ning/billing/util/glue/BusModule.java
+++ b/util/src/main/java/com/ning/billing/util/glue/BusModule.java
@@ -18,11 +18,11 @@ package com.ning.billing.util.glue;
import org.skife.config.ConfigurationObjectFactory;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
-import com.ning.billing.util.bus.InMemoryBus;
-import com.ning.billing.util.bus.PersistentBus;
+import com.ning.billing.util.bus.InMemoryInternalBus;
+import com.ning.billing.util.bus.PersistentInternalBus;
import com.ning.billing.util.bus.PersistentBusConfig;
import com.google.inject.AbstractModule;
@@ -69,10 +69,10 @@ public class BusModule extends AbstractModule {
private void configurePersistentEventBus() {
configurePersistentBusConfig();
- bind(Bus.class).to(PersistentBus.class).asEagerSingleton();
+ bind(InternalBus.class).to(PersistentInternalBus.class).asEagerSingleton();
}
private void configureInMemoryEventBus() {
- bind(Bus.class).to(InMemoryBus.class).asEagerSingleton();
+ bind(InternalBus.class).to(InMemoryInternalBus.class).asEagerSingleton();
}
}
diff --git a/util/src/main/java/com/ning/billing/util/svcsapi/bus/BusService.java b/util/src/main/java/com/ning/billing/util/svcsapi/bus/BusService.java
index c428278..b8670c8 100644
--- a/util/src/main/java/com/ning/billing/util/svcsapi/bus/BusService.java
+++ b/util/src/main/java/com/ning/billing/util/svcsapi/bus/BusService.java
@@ -20,5 +20,6 @@ import com.ning.billing.lifecycle.KillbillService;
public interface BusService extends KillbillService {
- public Bus getBus();
+ // API_FIX should be removed and server should only use public bus
+ public InternalBus getBus();
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagCreationEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagCreationEvent.java
index 5ff92b6..18deb26 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagCreationEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagCreationEvent.java
@@ -71,8 +71,8 @@ public class DefaultControlTagCreationEvent extends DefaultBusInternalEvent impl
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.CONTROL_TAG_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.CONTROL_TAG_CREATION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionCreationEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionCreationEvent.java
index 6dbe642..3a83d5e 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionCreationEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionCreationEvent.java
@@ -54,8 +54,8 @@ public class DefaultControlTagDefinitionCreationEvent extends DefaultBusInternal
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.CONTROL_TAGDEFINITION_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.CONTROL_TAGDEFINITION_CREATION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionDeletionEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionDeletionEvent.java
index c54e479..fa93c78 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionDeletionEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDefinitionDeletionEvent.java
@@ -54,8 +54,8 @@ public class DefaultControlTagDefinitionDeletionEvent extends DefaultBusInternal
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.CONTROL_TAGDEFINITION_DELETION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.CONTROL_TAGDEFINITION_DELETION;
}
@Override
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDeletionEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDeletionEvent.java
index 1aa6260..0e45abc 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDeletionEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultControlTagDeletionEvent.java
@@ -70,8 +70,8 @@ public class DefaultControlTagDeletionEvent extends DefaultBusInternalEvent impl
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.CONTROL_TAG_DELETION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.CONTROL_TAG_DELETION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagCreationEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagCreationEvent.java
index 5a65809..dd9f86f 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagCreationEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagCreationEvent.java
@@ -70,8 +70,8 @@ public class DefaultUserTagCreationEvent extends DefaultBusInternalEvent impleme
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.USER_TAG_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.USER_TAG_CREATION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionCreationEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionCreationEvent.java
index 1cf9452..7287e56 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionCreationEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionCreationEvent.java
@@ -54,8 +54,8 @@ public class DefaultUserTagDefinitionCreationEvent extends DefaultBusInternalEve
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.USER_TAGDEFINITION_CREATION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.USER_TAGDEFINITION_CREATION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionDeletionEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionDeletionEvent.java
index 692ac11..ad6b60e 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionDeletionEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDefinitionDeletionEvent.java
@@ -54,8 +54,8 @@ public class DefaultUserTagDefinitionDeletionEvent extends DefaultBusInternalEve
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.USER_TAGDEFINITION_DELETION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.USER_TAGDEFINITION_DELETION;
}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDeletionEvent.java b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDeletionEvent.java
index 72f6b44..1d68d14 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDeletionEvent.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/user/DefaultUserTagDeletionEvent.java
@@ -70,8 +70,8 @@ public class DefaultUserTagDeletionEvent extends DefaultBusInternalEvent impleme
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.USER_TAG_DELETION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.USER_TAG_DELETION;
}
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 f48d6fe..92b48c9 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
@@ -43,7 +43,7 @@ import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.dao.TableName;
import com.ning.billing.util.entity.collection.dao.UpdatableEntityCollectionSqlDao;
import com.ning.billing.util.events.TagInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.DefaultTagDefinition;
import com.ning.billing.util.tag.Tag;
@@ -58,10 +58,10 @@ public class AuditedTagDao extends AuditedCollectionDaoBase<Tag, Tag> implements
private final TagSqlDao tagSqlDao;
private final TagEventBuilder tagEventBuilder;
- private final Bus bus;
+ private final InternalBus bus;
@Inject
- public AuditedTagDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+ public AuditedTagDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final InternalBus bus) {
this.tagEventBuilder = tagEventBuilder;
this.bus = bus;
this.tagSqlDao = dbi.onDemand(TagSqlDao.class);
@@ -131,7 +131,7 @@ public class AuditedTagDao extends AuditedCollectionDaoBase<Tag, Tag> implements
}
try {
bus.postFromTransaction(tagEvent, tagSqlDao, context);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.warn("Failed to post tag creation event for tag " + tag.getId().toString(), e);
}
return null;
@@ -181,7 +181,7 @@ public class AuditedTagDao extends AuditedCollectionDaoBase<Tag, Tag> implements
}
try {
bus.postFromTransaction(tagEvent, tagSqlDao, context);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.warn("Failed to post tag deletion event for tag " + tag.getId().toString(), e);
}
return null;
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 f2c73df..ad50c0e 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
@@ -33,7 +33,7 @@ import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.events.TagDefinitionInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.DefaultTagDefinition;
import com.ning.billing.util.tag.TagDefinition;
@@ -49,10 +49,10 @@ public class DefaultTagDefinitionDao implements TagDefinitionDao {
private final TagDefinitionSqlDao tagDefinitionSqlDao;
private final TagEventBuilder tagEventBuilder;
- private final Bus bus;
+ private final InternalBus bus;
@Inject
- public DefaultTagDefinitionDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final Bus bus) {
+ public DefaultTagDefinitionDao(final IDBI dbi, final TagEventBuilder tagEventBuilder, final InternalBus bus) {
this.tagEventBuilder = tagEventBuilder;
this.bus = bus;
this.tagDefinitionSqlDao = dbi.onDemand(TagDefinitionSqlDao.class);
@@ -145,7 +145,7 @@ public class DefaultTagDefinitionDao implements TagDefinitionDao {
}
try {
bus.postFromTransaction(tagDefinitionEvent, tagDefinitionSqlDao, context);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.warn("Failed to post tag definition creation event for tag " + tagDefinition.getId(), e);
}
@@ -200,7 +200,7 @@ public class DefaultTagDefinitionDao implements TagDefinitionDao {
}
try {
bus.postFromTransaction(tagDefinitionEvent, tagDefinitionSqlDao, context);
- } catch (Bus.EventBusException e) {
+ } catch (InternalBus.EventBusException e) {
log.warn("Failed to post tag definition deletion event for tag " + tagDefinition.getId(), e);
}
diff --git a/util/src/test/java/com/ning/billing/dbi/MysqlTestingHelper.java b/util/src/test/java/com/ning/billing/dbi/MysqlTestingHelper.java
index a2c6f65..6432a26 100644
--- a/util/src/test/java/com/ning/billing/dbi/MysqlTestingHelper.java
+++ b/util/src/test/java/com/ning/billing/dbi/MysqlTestingHelper.java
@@ -227,7 +227,7 @@ public class MysqlTestingHelper {
initDb("drop table if exists subscriptions; create table subscriptions(record_id int(11) unsigned not null auto_increment, id char(36) not null, " +
"account_record_id int(11) unsigned not null, tenant_record_id int(11) unsigned default 0, primary key(record_id)) engine=innodb;");
- for (final String pack : new String[]{"account", "analytics", "entitlement", "util", "payment", "invoice", "junction", "tenant"}) {
+ for (final String pack : new String[]{"account", "analytics", "beatrix", "entitlement", "util", "payment", "invoice", "junction", "tenant"}) {
final String ddl;
try {
ddl = IOUtils.toString(Resources.getResource("com/ning/billing/" + pack + "/ddl.sql").openStream());
diff --git a/util/src/test/java/com/ning/billing/mock/MockEffectiveSubscriptionEvent.java b/util/src/test/java/com/ning/billing/mock/MockEffectiveSubscriptionEvent.java
index a31d89c..ddbfb64 100644
--- a/util/src/test/java/com/ning/billing/mock/MockEffectiveSubscriptionEvent.java
+++ b/util/src/test/java/com/ning/billing/mock/MockEffectiveSubscriptionEvent.java
@@ -92,8 +92,8 @@ public class MockEffectiveSubscriptionEvent implements EffectiveSubscriptionInte
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.SUBSCRIPTION_TRANSITION;
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.SUBSCRIPTION_TRANSITION;
}
@JsonProperty("eventId")
diff --git a/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java b/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
index 84386f2..820a209 100644
--- a/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
+++ b/util/src/test/java/com/ning/billing/util/audit/dao/TestDefaultAuditDao.java
@@ -35,7 +35,7 @@ import com.ning.billing.util.api.AuditLevel;
import com.ning.billing.util.api.TagApiException;
import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.audit.AuditLog;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.dao.TableName;
@@ -64,7 +64,7 @@ public class TestDefaultAuditDao extends UtilTestSuiteWithEmbeddedDB {
private Clock clock;
@Inject
- private Bus bus;
+ private InternalBus bus;
@Inject
private IDBI dbi;
diff --git a/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java b/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
index 0c92e6d..b93b0b8 100644
--- a/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
+++ b/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
@@ -22,7 +22,7 @@ import org.testng.annotations.Test;
public class TestEventBus extends TestEventBusBase {
@BeforeClass(groups = "slow")
public void setup() throws Exception {
- eventBus = new InMemoryBus();
+ eventBus = new InMemoryInternalBus();
super.setup();
}
diff --git a/util/src/test/java/com/ning/billing/util/bus/TestEventBusBase.java b/util/src/test/java/com/ning/billing/util/bus/TestEventBusBase.java
index 18bf7cb..a6188de 100644
--- a/util/src/test/java/com/ning/billing/util/bus/TestEventBusBase.java
+++ b/util/src/test/java/com/ning/billing/util/bus/TestEventBusBase.java
@@ -26,9 +26,9 @@ import org.testng.annotations.BeforeClass;
import com.ning.billing.util.UtilTestSuiteWithEmbeddedDB;
import com.ning.billing.util.events.BusInternalEvent;
-import com.ning.billing.util.events.BusInternalEvent.BusEventType;
+import com.ning.billing.util.events.BusInternalEvent.BusInternalEventType;
import com.ning.billing.util.events.DefaultBusInternalEvent;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -40,7 +40,7 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
protected static final Logger log = LoggerFactory.getLogger(TestEventBusBase.class);
@Inject
- protected Bus eventBus;
+ protected InternalBus eventBus;
@BeforeClass(groups = "slow")
public void setup() throws Exception {
@@ -72,8 +72,8 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.valueOf(type);
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.valueOf(type);
}
public String getName() {
@@ -123,8 +123,8 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
@JsonIgnore
@Override
- public BusEventType getBusEventType() {
- return BusEventType.valueOf(type);
+ public BusInternalEventType getBusEventType() {
+ return BusInternalEventType.valueOf(type);
}
@@ -199,7 +199,7 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
final MyEventHandler handler = new MyEventHandler(1);
eventBus.register(handler);
- eventBus.post(new MyEventWithException("my-event", 1L, UUID.randomUUID(), BusEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
+ eventBus.post(new MyEventWithException("my-event", 1L, UUID.randomUUID(), BusInternalEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
Thread.sleep(50000);
} catch (Exception ignored) {
@@ -213,7 +213,7 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
eventBus.register(handler);
for (int i = 0; i < nbEvents; i++) {
- eventBus.post(new MyEvent("my-event", (long) i, UUID.randomUUID(), BusEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
+ eventBus.post(new MyEvent("my-event", (long) i, UUID.randomUUID(), BusInternalEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
}
final boolean completed = handler.waitForCompletion(10000);
@@ -229,9 +229,9 @@ public abstract class TestEventBusBase extends UtilTestSuiteWithEmbeddedDB {
eventBus.register(handler);
for (int i = 0; i < 5; i++) {
- eventBus.post(new MyOtherEvent("my-other-event", (double) i, UUID.randomUUID(), BusEventType.BUNDLE_REPAIR.toString(), 1L, 1L), internalCallContext);
+ eventBus.post(new MyOtherEvent("my-other-event", (double) i, UUID.randomUUID(), BusInternalEventType.BUNDLE_REPAIR.toString(), 1L, 1L), internalCallContext);
}
- eventBus.post(new MyEvent("my-event", 11l, UUID.randomUUID(), BusEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
+ eventBus.post(new MyEvent("my-event", 11l, UUID.randomUUID(), BusInternalEventType.ACCOUNT_CHANGE.toString(), 1L, 1L), internalCallContext);
final boolean completed = handler.waitForCompletion(10000);
Assert.assertEquals(completed, true);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagCreationEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagCreationEvent.java
index cdc8d5d..4fb264a 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagCreationEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagCreationEvent.java
@@ -42,7 +42,7 @@ public class TestDefaultControlTagCreationEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultControlTagCreationEvent event = new DefaultControlTagCreationEvent(tagId, objectId, objectType, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.CONTROL_TAG_CREATION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.CONTROL_TAG_CREATION);
Assert.assertEquals(event.getTagId(), tagId);
Assert.assertEquals(event.getObjectId(), objectId);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionCreationEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionCreationEvent.java
index 4712be1..46bcd6a 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionCreationEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionCreationEvent.java
@@ -38,7 +38,7 @@ public class TestDefaultControlTagDefinitionCreationEvent extends UtilTestSuite
final UUID userToken = UUID.randomUUID();
final DefaultControlTagDefinitionCreationEvent event = new DefaultControlTagDefinitionCreationEvent(tagDefinitionId, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.CONTROL_TAGDEFINITION_CREATION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.CONTROL_TAGDEFINITION_CREATION);
Assert.assertEquals(event.getTagDefinitionId(), tagDefinitionId);
Assert.assertEquals(event.getTagDefinition(), tagDefinition);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionDeletionEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionDeletionEvent.java
index ab9869a..800d551 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionDeletionEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDefinitionDeletionEvent.java
@@ -38,7 +38,7 @@ public class TestDefaultControlTagDefinitionDeletionEvent extends UtilTestSuite
final UUID userToken = UUID.randomUUID();
final DefaultControlTagDefinitionDeletionEvent event = new DefaultControlTagDefinitionDeletionEvent(tagDefinitionId, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.CONTROL_TAGDEFINITION_DELETION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.CONTROL_TAGDEFINITION_DELETION);
Assert.assertEquals(event.getTagDefinitionId(), tagDefinitionId);
Assert.assertEquals(event.getTagDefinition(), tagDefinition);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDeletionEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDeletionEvent.java
index ab869b7..93994ac 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDeletionEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultControlTagDeletionEvent.java
@@ -42,7 +42,7 @@ public class TestDefaultControlTagDeletionEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultControlTagDeletionEvent event = new DefaultControlTagDeletionEvent(tagId, objectId, objectType, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.CONTROL_TAG_DELETION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.CONTROL_TAG_DELETION);
Assert.assertEquals(event.getTagId(), tagId);
Assert.assertEquals(event.getObjectId(), objectId);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagCreationEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagCreationEvent.java
index 3a2c428..fc4e324 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagCreationEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagCreationEvent.java
@@ -42,7 +42,7 @@ public class TestDefaultUserTagCreationEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultUserTagCreationEvent event = new DefaultUserTagCreationEvent(tagId, objectId, objectType, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.USER_TAG_CREATION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAG_CREATION);
Assert.assertEquals(event.getTagId(), tagId);
Assert.assertEquals(event.getObjectId(), objectId);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionCreationEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionCreationEvent.java
index acbf2ec..211918e 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionCreationEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionCreationEvent.java
@@ -38,7 +38,7 @@ public class TestDefaultUserTagDefinitionCreationEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultUserTagDefinitionCreationEvent event = new DefaultUserTagDefinitionCreationEvent(tagDefinitionId, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.USER_TAGDEFINITION_CREATION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAGDEFINITION_CREATION);
Assert.assertEquals(event.getTagDefinitionId(), tagDefinitionId);
Assert.assertEquals(event.getTagDefinition(), tagDefinition);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionDeletionEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionDeletionEvent.java
index 243fc9f..bb050f1 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionDeletionEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDefinitionDeletionEvent.java
@@ -38,7 +38,7 @@ public class TestDefaultUserTagDefinitionDeletionEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultUserTagDefinitionDeletionEvent event = new DefaultUserTagDefinitionDeletionEvent(tagDefinitionId, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.USER_TAGDEFINITION_DELETION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAGDEFINITION_DELETION);
Assert.assertEquals(event.getTagDefinitionId(), tagDefinitionId);
Assert.assertEquals(event.getTagDefinition(), tagDefinition);
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDeletionEvent.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDeletionEvent.java
index 731021b..e71b8cb 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDeletionEvent.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestDefaultUserTagDeletionEvent.java
@@ -42,7 +42,7 @@ public class TestDefaultUserTagDeletionEvent extends UtilTestSuite {
final UUID userToken = UUID.randomUUID();
final DefaultUserTagDeletionEvent event = new DefaultUserTagDeletionEvent(tagId, objectId, objectType, tagDefinition, userToken, 1L, 1L);
- Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusEventType.USER_TAG_DELETION);
+ Assert.assertEquals(event.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAG_DELETION);
Assert.assertEquals(event.getTagId(), tagId);
Assert.assertEquals(event.getObjectId(), objectId);
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
index 156b438..1477dc1 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
@@ -32,7 +32,7 @@ import org.testng.annotations.Test;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.util.UtilTestSuiteWithEmbeddedDB;
import com.ning.billing.util.api.TagDefinitionApiException;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.events.BusInternalEvent;
@@ -63,7 +63,7 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
private Clock clock;
@Inject
- private Bus bus;
+ private InternalBus bus;
private EventsListener eventsListener;
@@ -73,7 +73,7 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
}
@BeforeMethod(groups = "slow")
- public void cleanupBeforeMethod() throws Bus.EventBusException {
+ public void cleanupBeforeMethod() throws InternalBus.EventBusException {
eventsListener = new EventsListener();
bus.register(eventsListener);
}
@@ -181,7 +181,7 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
Assert.assertEquals(tagFirstEventReceived.getObjectType(), objectType);
Assert.assertEquals(tagFirstEventReceived.getTagDefinition().getName(), createdTagDefinition.getName());
Assert.assertEquals(tagFirstEventReceived.getTagDefinition().getDescription(), createdTagDefinition.getDescription());
- Assert.assertEquals(tagFirstEventReceived.getBusEventType(), BusInternalEvent.BusEventType.USER_TAG_CREATION);
+ Assert.assertEquals(tagFirstEventReceived.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAG_CREATION);
Assert.assertEquals(tagFirstEventReceived.getUserToken(), internalCallContext.getUserToken());
// Delete the tag
@@ -199,7 +199,7 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
Assert.assertEquals(tagSecondEventReceived.getObjectType(), objectType);
Assert.assertEquals(tagSecondEventReceived.getTagDefinition().getName(), createdTagDefinition.getName());
Assert.assertEquals(tagSecondEventReceived.getTagDefinition().getDescription(), createdTagDefinition.getDescription());
- Assert.assertEquals(tagSecondEventReceived.getBusEventType(), BusInternalEvent.BusEventType.USER_TAG_DELETION);
+ Assert.assertEquals(tagSecondEventReceived.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAG_DELETION);
Assert.assertEquals(tagSecondEventReceived.getUserToken(), internalCallContext.getUserToken());
}
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
index 02d93f4..d5c2f2e 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
@@ -30,7 +30,7 @@ import org.testng.annotations.Test;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.util.UtilTestSuiteWithEmbeddedDB;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.events.BusInternalEvent;
import com.ning.billing.util.events.TagDefinitionInternalEvent;
@@ -53,7 +53,7 @@ public class TestDefaultTagDefinitionDao extends UtilTestSuiteWithEmbeddedDB {
private Clock clock;
@Inject
- private Bus bus;
+ private InternalBus bus;
private EventsListener eventsListener;
@@ -63,7 +63,7 @@ public class TestDefaultTagDefinitionDao extends UtilTestSuiteWithEmbeddedDB {
}
@BeforeMethod(groups = "slow")
- public void cleanupBeforeMethod() throws Bus.EventBusException {
+ public void cleanupBeforeMethod() throws InternalBus.EventBusException {
eventsListener = new EventsListener();
bus.register(eventsListener);
}
@@ -98,7 +98,7 @@ public class TestDefaultTagDefinitionDao extends UtilTestSuiteWithEmbeddedDB {
Assert.assertEquals(eventsListener.getEvents().get(0), tagDefinitionFirstEventReceived);
Assert.assertEquals(tagDefinitionFirstEventReceived.getTagDefinitionId(), createdTagDefinition.getId());
Assert.assertEquals(tagDefinitionFirstEventReceived.getTagDefinition(), createdTagDefinition);
- Assert.assertEquals(tagDefinitionFirstEventReceived.getBusEventType(), BusInternalEvent.BusEventType.USER_TAGDEFINITION_CREATION);
+ Assert.assertEquals(tagDefinitionFirstEventReceived.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAGDEFINITION_CREATION);
Assert.assertEquals(tagDefinitionFirstEventReceived.getUserToken(), internalCallContext.getUserToken());
// Delete the tag definition
@@ -114,7 +114,7 @@ public class TestDefaultTagDefinitionDao extends UtilTestSuiteWithEmbeddedDB {
Assert.assertEquals(eventsListener.getEvents().get(1), tagDefinitionSecondEventReceived);
Assert.assertEquals(tagDefinitionSecondEventReceived.getTagDefinitionId(), createdTagDefinition.getId());
Assert.assertEquals(tagDefinitionSecondEventReceived.getTagDefinition(), createdTagDefinition);
- Assert.assertEquals(tagDefinitionSecondEventReceived.getBusEventType(), BusInternalEvent.BusEventType.USER_TAGDEFINITION_DELETION);
+ Assert.assertEquals(tagDefinitionSecondEventReceived.getBusEventType(), BusInternalEvent.BusInternalEventType.USER_TAGDEFINITION_DELETION);
Assert.assertEquals(tagDefinitionSecondEventReceived.getUserToken(), internalCallContext.getUserToken());
}
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 2bdc97c..ab8c9a4 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
@@ -21,8 +21,8 @@ import org.skife.jdbi.v2.IDBI;
import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.mock.glue.MockClockModule;
-import com.ning.billing.util.svcsapi.bus.Bus;
-import com.ning.billing.util.bus.InMemoryBus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
+import com.ning.billing.util.bus.InMemoryInternalBus;
import com.ning.billing.util.glue.TagStoreModule;
public class MockTagStoreModuleSql extends TagStoreModule {
@@ -33,7 +33,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());
+ bind(InternalBus.class).toInstance(new InMemoryInternalBus());
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 2363604..bc393a8 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
@@ -37,7 +37,7 @@ import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.util.UtilTestSuiteWithEmbeddedDB;
import com.ning.billing.util.api.TagApiException;
import com.ning.billing.util.api.TagDefinitionApiException;
-import com.ning.billing.util.svcsapi.bus.Bus;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.tag.dao.TagDao;
@@ -71,7 +71,7 @@ public class TestTagStore extends UtilTestSuiteWithEmbeddedDB {
private Clock clock;
@Inject
- private Bus bus;
+ private InternalBus bus;
private TagDefinition testTag;