diff --git a/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java b/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
index 940e34b..ac4fe08 100644
--- a/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
+++ b/api/src/main/java/com/ning/billing/beatrix/bus/api/ExtBusEventType.java
@@ -16,8 +16,9 @@
package com.ning.billing.beatrix.bus.api;
/**
- * The enum {@code ExtBusEventType} rerpesents the user visible bus event types.
+ * The enum {@code ExtBusEventType} represents the user visible bus event types.
*/
+
public enum ExtBusEventType {
ACCOUNT_CREATION,
ACCOUNT_CHANGE,
@@ -26,6 +27,11 @@ public enum ExtBusEventType {
SUBSCRIPTION_CANCEL,
OVERDUE_CHANGE,
INVOICE_CREATION,
+ INVOICE_ADJUSTMENT,
PAYMENT_SUCCESS,
- PAYMENT_FAILED
+ PAYMENT_FAILED,
+ TAG_CREATION,
+ TAG_DELETION,
+ CUSTOM_FIELD_CREATION,
+ CUSTOM_FIELD_DELETION
}
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
index 2f87e4a..4ffc2bb 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
@@ -35,7 +35,16 @@ import com.ning.billing.util.callcontext.UserType;
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.ControlTagCreationInternalEvent;
+import com.ning.billing.util.events.ControlTagDeletionInternalEvent;
+import com.ning.billing.util.events.CustomFieldCreationEvent;
+import com.ning.billing.util.events.CustomFieldDeletionEvent;
+import com.ning.billing.util.events.InvoiceAdjustmentInternalEvent;
+import com.ning.billing.util.events.InvoiceCreationInternalEvent;
+import com.ning.billing.util.events.InvoiceInternalEvent;
import com.ning.billing.util.events.OverdueChangeInternalEvent;
+import com.ning.billing.util.events.PaymentErrorInternalEvent;
+import com.ning.billing.util.events.PaymentInfoInternalEvent;
import com.ning.billing.util.events.SubscriptionInternalEvent;
import com.ning.billing.util.svcsapi.bus.InternalBus.EventBusException;
@@ -59,24 +68,6 @@ public class BeatrixListener {
@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 {
@@ -89,6 +80,7 @@ public class BeatrixListener {
}
}
+
private ExtBusEventEntry computeExtBusEventEntryFromBusInternalEvent(final BusInternalEvent event) {
ObjectType objectType = null;
@@ -122,14 +114,36 @@ public class BeatrixListener {
} else if (realEventST.getTransitionType() == SubscriptionTransitionType.CHANGE) {
eventBusType = ExtBusEventType.SUBSCRIPTION_CHANGE;
}
-
break;
+
case INVOICE_CREATION:
+ InvoiceCreationInternalEvent realEventInv = (InvoiceCreationInternalEvent) event;
+ objectType = ObjectType.INVOICE;
+ objectId = realEventInv.getInvoiceId();
+ eventBusType = ExtBusEventType.INVOICE_CREATION;
+ break;
+
+ case INVOICE_ADJUSTMENT:
+ InvoiceAdjustmentInternalEvent realEventInvAdj = (InvoiceAdjustmentInternalEvent) event;
+ objectType = ObjectType.INVOICE;
+ objectId = realEventInvAdj.getInvoiceId();
+ eventBusType = ExtBusEventType.INVOICE_ADJUSTMENT;
break;
+
case PAYMENT_INFO:
+ PaymentInfoInternalEvent realEventPay = (PaymentInfoInternalEvent) event;
+ objectType = ObjectType.PAYMENT;
+ objectId = realEventPay.getPaymentId();
+ eventBusType = ExtBusEventType.PAYMENT_SUCCESS;
break;
+
case PAYMENT_ERROR:
+ PaymentErrorInternalEvent realEventPayErr = (PaymentErrorInternalEvent) event;
+ objectType = ObjectType.PAYMENT;
+ objectId = realEventPayErr.getPaymentId();
+ eventBusType = ExtBusEventType.PAYMENT_FAILED;
break;
+
case OVERDUE_CHANGE:
OverdueChangeInternalEvent realEventOC = (OverdueChangeInternalEvent) event;
// TODO When Killbil supports more than overdue for bundle, this will break...
@@ -137,6 +151,37 @@ public class BeatrixListener {
objectId = realEventOC.getOverdueObjectId();
eventBusType = ExtBusEventType.OVERDUE_CHANGE;
break;
+
+ case USER_TAG_CREATION:
+ case CONTROL_TAG_CREATION:
+ ControlTagCreationInternalEvent realTagEventCr = (ControlTagCreationInternalEvent) event;
+ objectType = ObjectType.TAG;
+ objectId = realTagEventCr.getTagId();
+ eventBusType = ExtBusEventType.TAG_CREATION;
+ break;
+
+ case USER_TAG_DELETION:
+ case CONTROL_TAG_DELETION:
+ ControlTagDeletionInternalEvent realTagEventDel = (ControlTagDeletionInternalEvent) event;
+ objectType = ObjectType.TAG;
+ objectId = realTagEventDel.getTagId();
+ eventBusType = ExtBusEventType.TAG_DELETION;
+ break;
+
+ case CUSTOM_FIELD_CREATION:
+ CustomFieldCreationEvent realCustomEveventCr = (CustomFieldCreationEvent) event;
+ objectType = ObjectType.CUSTOM_FIELD;
+ objectId = realCustomEveventCr.getCustomFieldId();
+ eventBusType = ExtBusEventType.CUSTOM_FIELD_CREATION;
+ break;
+
+ case CUSTOM_FIELD_DELETION:
+ CustomFieldDeletionEvent realCustomEveventDel = (CustomFieldDeletionEvent) event;
+ objectType = ObjectType.CUSTOM_FIELD;
+ objectId = realCustomEveventDel.getCustomFieldId();
+ eventBusType = ExtBusEventType.CUSTOM_FIELD_DELETION;
+ break;
+
default:
}
return eventBusType != null ?