killbill-uncached

entitlement: add sanity checks in DefaultEventsStream On

9/25/2017 12:31:46 PM

Details

diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/engine/core/DefaultEventsStream.java b/entitlement/src/main/java/org/killbill/billing/entitlement/engine/core/DefaultEventsStream.java
index c991055..e5c73d3 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/engine/core/DefaultEventsStream.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/engine/core/DefaultEventsStream.java
@@ -91,6 +91,7 @@ public class DefaultEventsStream implements EventsStream {
                                final List<SubscriptionBase> allSubscriptionsForBundle,
                                final int defaultBillCycleDayLocal,
                                final InternalTenantContext contextWithValidAccountRecordId, final DateTime utcNow) {
+        sanityChecks(account, bundle, baseSubscription, subscription);
         this.account = account;
         this.bundle = bundle;
         this.blockingStates = blockingStates;
@@ -106,6 +107,20 @@ public class DefaultEventsStream implements EventsStream {
         setup();
     }
 
+    private void sanityChecks(@Nullable final ImmutableAccountData account,
+                              @Nullable final SubscriptionBaseBundle bundle,
+                              @Nullable final SubscriptionBase baseSubscription,
+                              @Nullable final SubscriptionBase subscription) {
+        for (final Object object : new Object[]{account, bundle, baseSubscription, subscription}) {
+            Preconditions.checkNotNull(object,
+                                       "accountId='%s%, bundleId='%s', baseSubscriptionId='%s', subscriptionId='%s'",
+                                       account != null ? account.getId() : null,
+                                       bundle != null ? bundle.getId() : null,
+                                       baseSubscription != null ? baseSubscription.getId() : null,
+                                       subscription != null ? subscription.getId() : null);
+        }
+    }
+
     @Override
     public UUID getAccountId() {
         return account.getId();