killbill-memoizeit

Changes

Details

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 8e30d0c..adb5f66 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
@@ -213,7 +213,7 @@ public class TestAnalyticsService extends AnalyticsTestSuiteWithEmbeddedDB {
                 priceList,
                 TOTAL_ORDERING,
                 null,
-                true), null, 1L, 1L);
+                true), null, null, 1L, 1L);
         expectedTransition = new BusinessSubscriptionTransitionModelDao(
                 TOTAL_ORDERING,
                 transition.getBundleId(),
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
index 1b42632..c278b47 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
@@ -189,7 +189,6 @@ public class DefaultEntitlementMigrationApi extends EntitlementApiBase implement
                         .setEffectiveDate(cur.getEventTime())
                         .setProcessedDate(now)
                         .setRequestedDate(now)
-                        .setUserToken(context.getUserToken())
                         .setFromDisk(true);
 
                 switch (cur.getApiEventType()) {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
index f4b0420..e5b3a46 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
@@ -142,7 +142,7 @@ public class DefaultEntitlementInternalApi extends EntitlementApiBase implements
             @Override
             @Nullable
             public EffectiveSubscriptionInternalEvent apply(@Nullable SubscriptionTransitionData input) {
-                return new DefaultEffectiveSubscriptionEvent(input, ((SubscriptionData) subscription).getAlignStartDate(), context.getAccountRecordId(), context.getTenantRecordId());
+                return new DefaultEffectiveSubscriptionEvent(input, ((SubscriptionData) subscription).getAlignStartDate(), null, context.getAccountRecordId(), context.getTenantRecordId());
             }
         }));
     }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/SubscriptionDataRepair.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/SubscriptionDataRepair.java
index 310469c..1cbc922 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/SubscriptionDataRepair.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/timeline/SubscriptionDataRepair.java
@@ -181,7 +181,6 @@ public class SubscriptionDataRepair extends SubscriptionData {
                                                                                 .setProcessedDate(now)
                                                                                 .setEffectiveDate(effectiveDate)
                                                                                 .setRequestedDate(now)
-                                                                                .setUserToken(context.getUserToken())
                                                                                 .setFromDisk(true));
                 repairDao.cancelSubscription(cur, cancelEvent, internalCallContextFactory.createInternalCallContext(cur.getId(), ObjectType.SUBSCRIPTION, context), 0);
                 cur.rebuildTransitions(repairDao.getEventsForSubscription(cur.getId(), internalCallContextFactory.createInternalTenantContext(context)), catalogService.getFullCatalog());
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
index 651b297..d5e9bd3 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
@@ -100,7 +100,6 @@ public class DefaultEntitlementTransferApi extends EntitlementApiBase implements
                 .setProcessedDate(clock.getUTCNow())
                 .setEffectiveDate(effectiveDate)
                 .setRequestedDate(effectiveDate)
-                .setUserToken(context.getUserToken())
                 .setFromDisk(true);
 
         switch (existingEvent.getSubscriptionTransitionType()) {
@@ -237,7 +236,6 @@ public class DefaultEntitlementTransferApi extends EntitlementApiBase implements
                                                                                     .setProcessedDate(clock.getUTCNow())
                                                                                     .setEffectiveDate(effectiveCancelDate)
                                                                                     .setRequestedDate(effectiveTransferDate)
-                                                                                    .setUserToken(context.getUserToken())
                                                                                     .setFromDisk(true));
 
                     TransferCancelData cancelData = new TransferCancelData(oldSubscription, cancelEvent);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEffectiveSubscriptionEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEffectiveSubscriptionEvent.java
index 4272038..4267678 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEffectiveSubscriptionEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEffectiveSubscriptionEvent.java
@@ -28,8 +28,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class DefaultEffectiveSubscriptionEvent extends DefaultSubscriptionEvent implements EffectiveSubscriptionInternalEvent {
 
-    public DefaultEffectiveSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final Long accountRecordId, final Long tenantRecordId) {
-        super(in, startDate, accountRecordId, tenantRecordId);
+    public DefaultEffectiveSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final UUID userToken, final Long accountRecordId, final Long tenantRecordId) {
+        super(in, startDate, userToken, accountRecordId, tenantRecordId);
     }
 
     @JsonCreator
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultRequestedSubscriptionEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultRequestedSubscriptionEvent.java
index cdfcd2c..93ef00c 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultRequestedSubscriptionEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultRequestedSubscriptionEvent.java
@@ -28,8 +28,8 @@ import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class DefaultRequestedSubscriptionEvent extends DefaultSubscriptionEvent implements RequestedSubscriptionInternalEvent {
-    public DefaultRequestedSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final Long accountRecordId, final Long tenantRecordId) {
-        super(in, startDate, accountRecordId, tenantRecordId);
+    public DefaultRequestedSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final UUID userToken, final Long accountRecordId, final Long tenantRecordId) {
+        super(in, startDate, userToken, accountRecordId, tenantRecordId);
     }
 
     @JsonCreator
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionApiService.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionApiService.java
index d60a898..94d7815 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionApiService.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultSubscriptionApiService.java
@@ -145,7 +145,6 @@ public class DefaultSubscriptionApiService implements SubscriptionApiService {
                     .setProcessedDate(processedDate)
                     .setEffectiveDate(effectiveDate)
                     .setRequestedDate(requestedDate)
-                    .setUserToken(context.getUserToken())
                     .setFromDisk(true);
             final ApiEvent creationEvent = (reCreate) ? new ApiEventReCreate(createBuilder) : new ApiEventCreate(createBuilder);
 
@@ -216,7 +215,6 @@ public class DefaultSubscriptionApiService implements SubscriptionApiService {
                                                                         .setProcessedDate(now)
                                                                         .setEffectiveDate(effectiveDate)
                                                                         .setRequestedDate(requestedDate)
-                                                                        .setUserToken(context.getUserToken())
                                                                         .setFromDisk(true));
 
         final InternalCallContext internalCallContext = createCallContextFromBundleId(subscription.getBundleId(), context);
@@ -241,7 +239,6 @@ public class DefaultSubscriptionApiService implements SubscriptionApiService {
                                                                             .setProcessedDate(now)
                                                                             .setRequestedDate(now)
                                                                             .setEffectiveDate(now)
-                                                                            .setUserToken(context.getUserToken())
                                                                             .setFromDisk(true));
 
         final List<EntitlementEvent> uncancelEvents = new ArrayList<EntitlementEvent>();
@@ -345,7 +342,6 @@ public class DefaultSubscriptionApiService implements SubscriptionApiService {
                                                                         .setProcessedDate(now)
                                                                         .setEffectiveDate(effectiveDate)
                                                                         .setRequestedDate(requestedDate)
-                                                                        .setUserToken(context.getUserToken())
                                                                         .setFromDisk(true));
 
         final TimedPhase nextTimedPhase = planAligner.getNextTimedPhaseOnChange(subscription, newPlan, newPriceList.getName(), requestedDate, effectiveDate);
@@ -405,7 +401,6 @@ public class DefaultSubscriptionApiService implements SubscriptionApiService {
                                                                                 .setProcessedDate(now)
                                                                                 .setEffectiveDate(effectiveDate)
                                                                                 .setRequestedDate(now)
-                                                                                .setUserToken(context.getUserToken())
                                                                                 .setFromDisk(true));
                 subscriptionsToBeCancelled.add(cur);
                 cancelEvents.add(cancelEvent);
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 0092b7c..ba0c449 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
@@ -47,7 +47,7 @@ public abstract class DefaultSubscriptionEvent extends DefaultBusInternalEvent i
     private final SubscriptionTransitionType transitionType;
     private final DateTime startDate;
 
-    public DefaultSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final Long accountRecordId, final Long tenantRecordId) {
+    public DefaultSubscriptionEvent(final SubscriptionTransitionData in, final DateTime startDate, final UUID userToken, final Long accountRecordId, final Long tenantRecordId) {
         this(in.getId(),
              in.getSubscriptionId(),
              in.getBundleId(),
@@ -62,7 +62,7 @@ public abstract class DefaultSubscriptionEvent extends DefaultBusInternalEvent i
              (in.getNextPhase() != null) ? in.getNextPhase().getName() : null,
              (in.getNextPriceList() != null) ? in.getNextPriceList().getName() : null,
              in.getTotalOrdering(),
-             in.getUserToken(),
+             userToken,
              in.getTransitionType(),
              in.getRemainingEventsForUserOperation(),
              startDate,
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
index 7d88024..04e70f5 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
@@ -549,7 +549,6 @@ public class SubscriptionData extends EntityBase implements Subscription {
                 final ApiEvent userEV = (ApiEvent) cur;
                 apiEventType = userEV.getEventType();
                 isFromDisk = userEV.isFromDisk();
-                nextUserToken = userEV.getUserToken();
 
                 switch (apiEventType) {
                 case TRANSFER:
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 ce206ed..b095861 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
@@ -122,9 +122,7 @@ public class Engine implements EventListener, EntitlementService {
                         return;
                     }
 
-                    // TODO STEPH?
-                    final UUID userToken = (event.getType() == EventType.API_USER) ? ((ApiEvent) event).getUserToken() : fromNotificationQueueUserToken;
-                    final InternalCallContext context = internalCallContextFactory.createInternalCallContext(tenantRecordId, accountRecordId, "SubscriptionEventQueue", CallOrigin.INTERNAL, UserType.SYSTEM, userToken);
+                    final InternalCallContext context = internalCallContextFactory.createInternalCallContext(tenantRecordId, accountRecordId, "SubscriptionEventQueue", CallOrigin.INTERNAL, UserType.SYSTEM, fromNotificationQueueUserToken);
                     processEventReady(event, key.getSeqId(), context);
                 }
             };
@@ -179,6 +177,7 @@ public class Engine implements EventListener, EntitlementService {
         try {
             final SubscriptionTransitionData transition = (subscription.getTransitionFromEvent(event, theRealSeqId));
             final EffectiveSubscriptionInternalEvent busEvent = new DefaultEffectiveSubscriptionEvent(transition, subscription.getAlignStartDate(),
+                                                                                                      context.getUserToken(),
                                                                                                       context.getAccountRecordId(), context.getTenantRecordId());
             eventBus.post(busEvent, context);
         } catch (EventBusException e) {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/DefaultEntitlementDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/DefaultEntitlementDao.java
index 7f077ce..6aeafe5 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/DefaultEntitlementDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/DefaultEntitlementDao.java
@@ -603,7 +603,6 @@ public class DefaultEntitlementDao implements EntitlementDao {
                     .setEffectiveDate(migrateBillingEvent.getEffectiveDate())
                     .setProcessedDate(now)
                     .setActiveVersion(migrateBillingEvent.getCurrentVersion())
-                    .setUserToken(context.getUserToken())
                     .setEventPlan(prevPlan)
                     .setEventPlanPhase(prevPhase)
                     .setEventPriceList(prevPriceList);
@@ -902,6 +901,7 @@ public class DefaultEntitlementDao implements EntitlementDao {
 
             final SubscriptionTransitionData transition = upToDateSubscription.getTransitionFromEvent(immediateEvent, seqId);
             final EffectiveSubscriptionInternalEvent busEvent = new DefaultEffectiveSubscriptionEvent(transition, upToDateSubscription.getAlignStartDate(),
+                                                                                                      context.getUserToken(),
                                                                                                       context.getAccountRecordId(), context.getTenantRecordId());
 
 
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/model/EntitlementEventModelDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/model/EntitlementEventModelDao.java
index fa2507a..029b78a 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/model/EntitlementEventModelDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/model/EntitlementEventModelDao.java
@@ -55,14 +55,13 @@ public class EntitlementEventModelDao extends EntityBase implements EntityModelD
     private String priceListName;
     private long currentVersion;
     private boolean isActive;
-    private UUID userToken;
 
     public EntitlementEventModelDao() { /* For the DAO mapper */ }
 
     public EntitlementEventModelDao(final UUID id, final long totalOrdering, final EventType eventType, final ApiEventType userType,
                                     final DateTime requestedDate, final DateTime effectiveDate, final UUID subscriptionId,
                                     final String planName, final String phaseName, final String priceListName, final long currentVersion,
-                                    final boolean active, final DateTime createDate, final DateTime updateDate, final UUID userToken) {
+                                    final boolean active, final DateTime createDate, final DateTime updateDate) {
         super(id, createDate, updateDate);
         this.totalOrdering = totalOrdering;
         this.eventType = eventType;
@@ -75,7 +74,6 @@ public class EntitlementEventModelDao extends EntityBase implements EntityModelD
         this.priceListName = priceListName;
         this.currentVersion = currentVersion;
         this.isActive = active;
-        this.userToken = userToken;
     }
 
     public EntitlementEventModelDao(final EntitlementEvent src) {
@@ -97,11 +95,6 @@ public class EntitlementEventModelDao extends EntityBase implements EntityModelD
         return totalOrdering;
     }
 
-    public UUID getUserToken() {
-        return userToken;
-    }
-
-
     public EventType getEventType() {
         return eventType;
     }
@@ -176,8 +169,7 @@ public class EntitlementEventModelDao extends EntityBase implements EntityModelD
                     .setEventPlanPhase(src.getPhaseName())
                     .setEventPriceList(src.getPriceListName())
                     .setEventType(src.getUserType())
-                    .setFromDisk(true)
-                    .setUserToken(src.getUserToken());
+                    .setFromDisk(true);
 
             if (src.getUserType() == ApiEventType.CREATE) {
                 result = new ApiEventCreate(builder);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEvent.java
index 9a91b76..4f283d1 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEvent.java
@@ -33,6 +33,4 @@ public interface ApiEvent extends EntitlementEvent {
 
     public boolean isFromDisk();
 
-    public UUID getUserToken();
-
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBase.java b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBase.java
index 83c2812..2e299df 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBase.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBase.java
@@ -27,7 +27,6 @@ public class ApiEventBase extends EventBase implements ApiEvent {
     private final String eventPlan;
     private final String eventPlanPhase;
     private final String eventPriceList;
-    private final UUID userToken;
     private final boolean fromDisk;
 
     public ApiEventBase(final ApiEventBuilder builder) {
@@ -37,7 +36,6 @@ public class ApiEventBase extends EventBase implements ApiEvent {
         this.eventPlan = builder.getEventPlan();
         this.eventPlanPhase = builder.getEventPlanPhase();
         this.fromDisk = builder.isFromDisk();
-        this.userToken = builder.getUserToken();
     }
 
     @Override
@@ -66,12 +64,6 @@ public class ApiEventBase extends EventBase implements ApiEvent {
     }
 
     @Override
-    public UUID getUserToken() {
-        return userToken;
-    }
-
-
-    @Override
     public boolean isFromDisk() {
         return fromDisk;
     }
@@ -92,7 +84,6 @@ public class ApiEventBase extends EventBase implements ApiEvent {
                 + ", getActiveVersion()=" + getActiveVersion()
                 + ", getProcessedDate()=" + getProcessedDate()
                 + ", getSubscriptionId()=" + getSubscriptionId()
-                + ", evetnToken()=" + getUserToken()
                 + ", isActive()=" + isActive() + "]";
     }
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBuilder.java b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBuilder.java
index 82efd59..eaf6a74 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBuilder.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventBuilder.java
@@ -26,7 +26,6 @@ public class ApiEventBuilder extends EventBaseBuilder<ApiEventBuilder> {
     private String eventPlan;
     private String eventPlanPhase;
     private String eventPriceList;
-    private UUID userToken;
     private boolean fromDisk;
 
 
@@ -54,20 +53,10 @@ public class ApiEventBuilder extends EventBaseBuilder<ApiEventBuilder> {
         return eventPriceList;
     }
 
-    public UUID getUserToken() {
-        return userToken;
-    }
-
     public boolean isFromDisk() {
         return fromDisk;
     }
 
-    public ApiEventBuilder setUserToken(final UUID userToken) {
-        this.userToken = userToken;
-        return this;
-    }
-
-
     public ApiEventBuilder setFromDisk(final boolean fromDisk) {
         this.fromDisk = fromDisk;
         return this;
diff --git a/entitlement/src/main/resources/com/ning/billing/entitlement/ddl.sql b/entitlement/src/main/resources/com/ning/billing/entitlement/ddl.sql
index 913c472..b37d5db 100644
--- a/entitlement/src/main/resources/com/ning/billing/entitlement/ddl.sql
+++ b/entitlement/src/main/resources/com/ning/billing/entitlement/ddl.sql
@@ -12,7 +12,6 @@ CREATE TABLE subscription_events (
     plan_name varchar(64) DEFAULT NULL,
     phase_name varchar(128) DEFAULT NULL,
     price_list_name varchar(64) DEFAULT NULL,
-    user_token char(36),
     current_version int(11) DEFAULT 1,
     is_active bool DEFAULT 1,
     created_by varchar(50) NOT NULL,
diff --git a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EntitlementEventSqlDao.sql.stg b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EntitlementEventSqlDao.sql.stg
index e2bd516..eeb69d4 100644
--- a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EntitlementEventSqlDao.sql.stg
+++ b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EntitlementEventSqlDao.sql.stg
@@ -17,7 +17,6 @@ tableFields(prefix) ::= <<
 , <prefix> plan_name
 , <prefix> phase_name
 , <prefix> price_list_name
-, <prefix> user_token
 , <prefix> current_version
 , <prefix> is_active
 , <prefix> created_by
@@ -35,7 +34,6 @@ tableValues() ::= <<
 , :planName
 , :phaseName
 , :priceListName
-, :userToken
 , :currentVersion
 , :isActive
 , :createdBy