killbill-aplcache

jaxrs: Add handling for BlockingTransitionInternalEvent

2/26/2016 11:22:13 PM

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
index e75461d..d5662dd 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
@@ -61,6 +61,7 @@ import org.killbill.billing.entitlement.api.Subscription;
 import org.killbill.billing.entitlement.api.SubscriptionApi;
 import org.killbill.billing.entitlement.api.SubscriptionApiException;
 import org.killbill.billing.entitlement.api.SubscriptionBundle;
+import org.killbill.billing.events.BlockingTransitionInternalEvent;
 import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
 import org.killbill.billing.events.InvoiceCreationInternalEvent;
 import org.killbill.billing.events.NullInvoiceInternalEvent;
@@ -526,12 +527,16 @@ public class SubscriptionResource extends JaxRsResourceBase {
 
         @Override
         public void onSubscriptionBaseTransition(final EffectiveSubscriptionInternalEvent event) {
-
             log.info(String.format("Got event SubscriptionBaseTransition token = %s, type = %s, remaining = %d ",
                                    event.getUserToken(), event.getTransitionType(), event.getRemainingEventsForUserOperation()));
         }
 
         @Override
+        public void onBlockingState(final BlockingTransitionInternalEvent event) {
+            log.info(String.format("Got event BlockingTransitionInternalEvent token = %s", event.getUserToken()));
+        }
+
+        @Override
         public void onEmptyInvoice(final NullInvoiceInternalEvent event) {
             log.info(String.format("Got event EmptyInvoiceNotification token = %s ", event.getUserToken()));
             notifyForCompletion();
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/KillbillEventHandler.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/KillbillEventHandler.java
index 1b4a1d4..68e8875 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/KillbillEventHandler.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/util/KillbillEventHandler.java
@@ -58,7 +58,7 @@ public class KillbillEventHandler {
      */
     @AllowConcurrentEvents
     @Subscribe
-    public void handleSubscriptionevents(final BusInternalEvent event) {
+    public void handleSubscriptionEvents(final BusInternalEvent event) {
         final List<CompletionUserRequestNotifier> runningWaiters = new ArrayList<CompletionUserRequestNotifier>();
         synchronized (activeWaiters) {
             runningWaiters.addAll(activeWaiters);
diff --git a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
index da85734..5114def 100644
--- a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
+++ b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
@@ -25,6 +25,7 @@ import java.util.concurrent.TimeoutException;
 
 import org.killbill.billing.events.AccountChangeInternalEvent;
 import org.killbill.billing.events.AccountCreationInternalEvent;
+import org.killbill.billing.events.BlockingTransitionInternalEvent;
 import org.killbill.billing.events.BusInternalEvent;
 import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
 import org.killbill.billing.events.InvoiceCreationInternalEvent;
@@ -105,6 +106,9 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
             case ACCOUNT_CHANGE:
                 onAccountChange((AccountChangeInternalEvent) curEvent);
                 break;
+            case BLOCKING_STATE:
+                onBlockingState((BlockingTransitionInternalEvent) curEvent);
+                break;
             case SUBSCRIPTION_TRANSITION:
                 // We only dispatch the event for the effective date and not the requested date since we have both
                 // for subscription events.
@@ -145,6 +149,11 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
     }
 
     @Override
+    public void onBlockingState(final BlockingTransitionInternalEvent curEvent) {
+
+    }
+
+    @Override
     public void onInvoiceCreation(final InvoiceCreationInternalEvent curEvent) {
     }
 
diff --git a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
index 6668dcf..294149c 100644
--- a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
+++ b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
@@ -21,6 +21,7 @@ import java.util.concurrent.TimeoutException;
 
 import org.killbill.billing.events.AccountChangeInternalEvent;
 import org.killbill.billing.events.AccountCreationInternalEvent;
+import org.killbill.billing.events.BlockingTransitionInternalEvent;
 import org.killbill.billing.events.BusInternalEvent;
 import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
 import org.killbill.billing.events.InvoiceCreationInternalEvent;
@@ -37,7 +38,9 @@ public interface CompletionUserRequestWaiter {
 
     public void onAccountChange(final AccountChangeInternalEvent curEvent);
 
-    public void onSubscriptionBaseTransition(final EffectiveSubscriptionInternalEvent curEventEffective);
+    public void onSubscriptionBaseTransition(final EffectiveSubscriptionInternalEvent curEvent);
+
+    public void onBlockingState(final BlockingTransitionInternalEvent curEvent);
 
     public void onInvoiceCreation(final InvoiceCreationInternalEvent curEvent);