killbill-aplcache
Changes
api/src/main/java/org/killbill/billing/subscription/api/SubscriptionBaseTransitionType.java 8(+0 -8)
entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java 4(+0 -4)
junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java 1(+0 -1)
subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java 7(+0 -7)
subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java 15(+3 -12)
subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionDataIterator.java 15(+0 -15)
subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java 103(+6 -97)
subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java 9(+0 -9)
subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBuilder.java 4(+0 -4)
subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventMigrateBilling.java 23(+0 -23)
subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventMigrateSubscription.java 24(+0 -24)
subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventType.java 12(+0 -12)
Details
diff --git a/api/src/main/java/org/killbill/billing/subscription/api/SubscriptionBaseTransitionType.java b/api/src/main/java/org/killbill/billing/subscription/api/SubscriptionBaseTransitionType.java
index 11318ce..e1309c4 100644
--- a/api/src/main/java/org/killbill/billing/subscription/api/SubscriptionBaseTransitionType.java
+++ b/api/src/main/java/org/killbill/billing/subscription/api/SubscriptionBaseTransitionType.java
@@ -21,18 +21,10 @@ package org.killbill.billing.subscription.api;
*/
public enum SubscriptionBaseTransitionType {
/**
- * Occurs when a {@code SubscriptionBase} got migrated to mark the start of the subscription
- */
- MIGRATE_ENTITLEMENT,
- /**
* Occurs when a a user created a {@code SubscriptionBase} (not migrated)
*/
CREATE,
/**
- * Occurs when a {@code SubscriptionBase} got migrated to mark the start of the billing
- */
- MIGRATE_BILLING,
- /**
* Occurs when a {@code SubscriptionBase} got transferred to mark the start of the subscription
*/
TRANSFER,
diff --git a/beatrix/src/main/java/org/killbill/billing/beatrix/extbus/BeatrixListener.java b/beatrix/src/main/java/org/killbill/billing/beatrix/extbus/BeatrixListener.java
index 3d7a90f..c3301c5 100644
--- a/beatrix/src/main/java/org/killbill/billing/beatrix/extbus/BeatrixListener.java
+++ b/beatrix/src/main/java/org/killbill/billing/beatrix/extbus/BeatrixListener.java
@@ -138,8 +138,7 @@ public class BeatrixListener {
objectId = realEventST.getSubscriptionId();
if (realEventST.getTransitionType() == SubscriptionBaseTransitionType.CREATE ||
realEventST.getTransitionType() == SubscriptionBaseTransitionType.RE_CREATE ||
- realEventST.getTransitionType() == SubscriptionBaseTransitionType.TRANSFER ||
- realEventST.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT) {
+ realEventST.getTransitionType() == SubscriptionBaseTransitionType.TRANSFER) {
eventBusType = ExtBusEventType.SUBSCRIPTION_CREATION;
} else if (realEventST.getTransitionType() == SubscriptionBaseTransitionType.CANCEL) {
eventBusType = ExtBusEventType.SUBSCRIPTION_CANCEL;
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
index c0f311c..66112b2 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
@@ -95,10 +95,6 @@ public class SubscriptionEventOrdering extends EntitlementOrderingBase {
return ImmutableList.<SubscriptionEventType>of(SubscriptionEventType.START_ENTITLEMENT, SubscriptionEventType.START_BILLING);
case TRANSFER:
return ImmutableList.<SubscriptionEventType>of(SubscriptionEventType.START_ENTITLEMENT, SubscriptionEventType.START_BILLING);
- case MIGRATE_ENTITLEMENT:
- return ImmutableList.<SubscriptionEventType>of(SubscriptionEventType.START_ENTITLEMENT);
- case MIGRATE_BILLING:
- return ImmutableList.<SubscriptionEventType>of(SubscriptionEventType.START_BILLING);
case CHANGE:
return ImmutableList.<SubscriptionEventType>of(SubscriptionEventType.CHANGE);
case CANCEL:
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/InvoiceListener.java b/invoice/src/main/java/org/killbill/billing/invoice/InvoiceListener.java
index 5afae0a..03dcf5f 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/InvoiceListener.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/InvoiceListener.java
@@ -72,8 +72,7 @@ public class InvoiceListener {
// Skip future uncancel event
// Skip events which are marked as not being the last one
if (event.getTransitionType() == SubscriptionBaseTransitionType.UNCANCEL ||
- event.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT
- || event.getRemainingEventsForUserOperation() > 0) {
+ event.getRemainingEventsForUserOperation() > 0) {
return;
}
final InternalCallContext context = internalCallContextFactory.createInternalCallContext(event.getSearchKey2(), event.getSearchKey1(), "SubscriptionBaseTransition", CallOrigin.INTERNAL, UserType.SYSTEM, event.getUserToken());
diff --git a/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java b/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
index b9fb50c..ede4a6d 100644
--- a/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
+++ b/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
@@ -188,7 +188,6 @@ public class DefaultInternalBillingApi implements BillingInternalApi {
final List<EffectiveSubscriptionInternalEvent> billingTransitions = subscriptionApi.getBillingTransitions(subscription, context);
if (billingTransitions.isEmpty() ||
(billingTransitions.get(0).getTransitionType() != SubscriptionBaseTransitionType.CREATE &&
- billingTransitions.get(0).getTransitionType() != SubscriptionBaseTransitionType.MIGRATE_BILLING &&
billingTransitions.get(0).getTransitionType() != SubscriptionBaseTransitionType.TRANSFER)) {
log.warn("Skipping billing events for subscription " + subscription.getId() + ": Does not start with a valid CREATE transition");
skipSubscriptionsSet.add(subscription.getId());
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/alignment/PlanAligner.java b/subscription/src/main/java/org/killbill/billing/subscription/alignment/PlanAligner.java
index fe4e369..8f0c329 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/alignment/PlanAligner.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/alignment/PlanAligner.java
@@ -151,7 +151,6 @@ public class PlanAligner extends BaseAligner {
switch (lastPlanTransition.getTransitionType()) {
// If we never had any Plan change, borrow the logic for createPlan alignment
- case MIGRATE_ENTITLEMENT:
case CREATE:
case RE_CREATE:
case TRANSFER:
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java b/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
index 2a81343..2f39caa 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
@@ -105,7 +105,6 @@ public class DefaultSubscriptionBaseTransferApi extends SubscriptionApiBase impl
switch (existingEvent.getSubscriptionTransitionType()) {
case TRANSFER:
- case MIGRATE_ENTITLEMENT:
case RE_CREATE:
case CREATE:
newEvent = new ApiEventTransfer(apiBuilder);
@@ -121,12 +120,6 @@ public class DefaultSubscriptionBaseTransferApi extends SubscriptionApiBase impl
PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(), currentPhase.getName(), effectiveDate);
break;
- // Ignore these events except if it's the first event for the new subscription
- case MIGRATE_BILLING:
- if (firstEvent) {
- newEvent = new ApiEventTransfer(apiBuilder);
- }
- break;
case CANCEL:
break;
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
index d1a805b..53f5892 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
@@ -149,7 +149,6 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
if (pendingTransition != null &&
(pendingTransition.getTransitionType().equals(SubscriptionBaseTransitionType.CREATE) ||
pendingTransition.getTransitionType().equals(SubscriptionBaseTransitionType.TRANSFER) ||
- pendingTransition.getTransitionType().equals(SubscriptionBaseTransitionType.MIGRATE_BILLING) ||
pendingTransition.getTransitionType().equals(SubscriptionBaseTransitionType.RE_CREATE))) {
return EntitlementState.PENDING;
}
@@ -164,9 +163,6 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
}
final SubscriptionBaseTransitionData initialTransition = (SubscriptionBaseTransitionData) transitions.get(0);
switch (initialTransition.getApiEventType()) {
- case MIGRATE_BILLING:
- case MIGRATE_ENTITLEMENT:
- return EntitlementSourceType.MIGRATED;
case TRANSFER:
return EntitlementSourceType.TRANSFERRED;
default:
@@ -459,14 +455,13 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
final SubscriptionBaseTransitionDataIterator it = new SubscriptionBaseTransitionDataIterator(
clock, transitions, Order.ASC_FROM_PAST, Kind.BILLING,
Visibility.ALL, TimeLimit.ALL);
- // Remove anything prior to first CREATE or MIGRATE_BILLING
+ // Remove anything prior to first CREATE
boolean foundInitialEvent = false;
while (it.hasNext()) {
final SubscriptionBaseTransitionData curTransition = (SubscriptionBaseTransitionData) it.next();
if (!foundInitialEvent) {
foundInitialEvent = curTransition.getEventType() == EventType.API_USER &&
(curTransition.getApiEventType() == ApiEventType.CREATE ||
- curTransition.getApiEventType() == ApiEventType.MIGRATE_BILLING ||
curTransition.getApiEventType() == ApiEventType.TRANSFER);
}
if (foundInitialEvent) {
@@ -493,8 +488,7 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
if (cur.getTransitionType() == SubscriptionBaseTransitionType.CREATE
|| cur.getTransitionType() == SubscriptionBaseTransitionType.RE_CREATE
|| cur.getTransitionType() == SubscriptionBaseTransitionType.TRANSFER
- || cur.getTransitionType() == SubscriptionBaseTransitionType.CHANGE
- || cur.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT) {
+ || cur.getTransitionType() == SubscriptionBaseTransitionType.CHANGE) {
return cur;
}
}
@@ -545,8 +539,7 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
|| cur.getTransitionType() == SubscriptionBaseTransitionType.TRANSFER
|| cur.getTransitionType() == SubscriptionBaseTransitionType.CREATE
|| cur.getTransitionType() == SubscriptionBaseTransitionType.RE_CREATE
- || cur.getTransitionType() == SubscriptionBaseTransitionType.CHANGE
- || cur.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT) {
+ || cur.getTransitionType() == SubscriptionBaseTransitionType.CHANGE) {
return cur.getEffectiveTransitionTime();
}
}
@@ -606,8 +599,6 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
switch (apiEventType) {
case TRANSFER:
- case MIGRATE_BILLING:
- case MIGRATE_ENTITLEMENT:
case CREATE:
case RE_CREATE:
prevEventId = null;
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionDataIterator.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionDataIterator.java
index 881e24f..b6402d3 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionDataIterator.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionDataIterator.java
@@ -81,10 +81,6 @@ public class SubscriptionBaseTransitionDataIterator implements Iterator<Subscrip
if (visibility == Visibility.FROM_DISK_ONLY && ! ((SubscriptionBaseTransitionData) input).isFromDisk()) {
return true;
}
- if ((kind == Kind.SUBSCRIPTION && shouldSkipForSubscriptionEvents((SubscriptionBaseTransitionData) input)) ||
- (kind == Kind.BILLING && shouldSkipForBillingEvents((SubscriptionBaseTransitionData) input))) {
- return true;
- }
if ((timeLimit == TimeLimit.FUTURE_ONLY && !input.getEffectiveTransitionTime().isAfter(clock.getUTCNow())) ||
((timeLimit == TimeLimit.PAST_OR_PRESENT_ONLY && input.getEffectiveTransitionTime().isAfter(clock.getUTCNow())))) {
return true;
@@ -92,17 +88,6 @@ public class SubscriptionBaseTransitionDataIterator implements Iterator<Subscrip
return false;
}
- private boolean shouldSkipForSubscriptionEvents(final SubscriptionBaseTransitionData input) {
- // SubscriptionBase system knows about all events except for MIGRATE_BILLING
- return (input.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_BILLING);
- }
-
- private boolean shouldSkipForBillingEvents(final SubscriptionBaseTransitionData input) {
- // Junction system knows about all events except for MIGRATE_ENTITLEMENT
- return input.getTransitionType() == SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT;
- }
-
-
@Override
public SubscriptionBaseTransition next() {
return next;
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
index 053af0d..53da798 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
@@ -72,10 +72,8 @@ import org.killbill.billing.subscription.events.user.ApiEvent;
import org.killbill.billing.subscription.events.user.ApiEventBuilder;
import org.killbill.billing.subscription.events.user.ApiEventCancel;
import org.killbill.billing.subscription.events.user.ApiEventChange;
-import org.killbill.billing.subscription.events.user.ApiEventMigrateBilling;
import org.killbill.billing.subscription.events.user.ApiEventType;
import org.killbill.billing.subscription.exceptions.SubscriptionBaseError;
-import org.killbill.billing.util.UUIDs;
import org.killbill.billing.util.cache.CacheControllerDispatcher;
import org.killbill.billing.util.callcontext.InternalCallContextFactory;
import org.killbill.billing.util.dao.NonEntityDao;
@@ -642,13 +640,9 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
final SubscriptionEventSqlDao transactional = entitySqlDaoWrapperFactory.become(SubscriptionEventSqlDao.class);
final UUID subscriptionId = subscription.getId();
- final List<SubscriptionBaseEvent> changeEventsTweakedWithMigrateBilling = reinsertFutureMigrateBillingEventOnChangeFromTransaction(subscriptionId,
- changeEvents,
- entitySqlDaoWrapperFactory,
- context);
cancelFutureEventsFromTransaction(subscriptionId, changeEvents.get(0).getEffectiveDate(), entitySqlDaoWrapperFactory, context);
- for (final SubscriptionBaseEvent cur : changeEventsTweakedWithMigrateBilling) {
+ for (final SubscriptionBaseEvent cur : changeEvents) {
transactional.create(new SubscriptionEventModelDao(cur), context);
final boolean isBusEvent = cur.getEffectiveDate().compareTo(clock.getUTCNow()) <= 0 && (cur.getType() == EventType.API_USER);
@@ -656,7 +650,7 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
}
// Notify the Bus of the latest requested change
- final SubscriptionBaseEvent finalEvent = changeEventsTweakedWithMigrateBilling.get(changeEvents.size() - 1);
+ final SubscriptionBaseEvent finalEvent = changeEvents.get(changeEvents.size() - 1);
notifyBusOfRequestedChange(entitySqlDaoWrapperFactory, subscription, finalEvent, SubscriptionBaseTransitionType.CHANGE, context);
// Cancel associated add-ons
@@ -667,92 +661,7 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
});
}
- //
- // This piece of code has been isolated in its own method in order to allow for migrated subscriptions to have their plan to changed prior
- // to MIGRATE_BILLING; the effect will be to reflect the change from an subscription point of view while ignoring the change until we hit
- // the begining of the billing, that is when we hit the MIGRATE_BILLING event. If we had a clear separation between subscription and
- // billing that would not be needed.
- //
- // If there is a change of plan prior to a future MIGRATE_BILLING, we want to modify the existing MIGRATE_BILLING so it reflects
- // the new plan, phase, pricelist; Invoice will only see the MIGRATE_BILLING as things prior to that will be ignored, so we need to make sure
- // that event reflects the correct subscription information.
- //
- //
- final List<SubscriptionBaseEvent> reinsertFutureMigrateBillingEventOnChangeFromTransaction(final UUID subscriptionId, final List<SubscriptionBaseEvent> changeEvents, final EntitySqlDaoWrapperFactory entitySqlDaoWrapperFactory, final InternalCallContext context) {
- final SubscriptionEventModelDao migrateBillingEvent = findFutureEventFromTransaction(subscriptionId, entitySqlDaoWrapperFactory, EventType.API_USER, ApiEventType.MIGRATE_BILLING, context);
- if (migrateBillingEvent == null) {
- // No future migrate billing : returns same list
- return changeEvents;
- }
-
- String prevPlan = null;
- String prevPhase = null;
- String prevPriceList = null;
- String curPlan = null;
- String curPhase = null;
- String curPriceList = null;
- for (SubscriptionBaseEvent cur : changeEvents) {
- switch (cur.getType()) {
- case API_USER:
- final ApiEvent apiEvent = (ApiEvent) cur;
- curPlan = apiEvent.getEventPlan();
- curPhase = apiEvent.getEventPlanPhase();
- curPriceList = apiEvent.getPriceList();
- break;
-
- case PHASE:
- final PhaseEvent phaseEvent = (PhaseEvent) cur;
- curPhase = phaseEvent.getPhase();
- break;
-
- default:
- throw new SubscriptionBaseError("Unknown event type " + cur.getType());
- }
-
- if (cur.getEffectiveDate().compareTo(migrateBillingEvent.getEffectiveDate()) > 0) {
- if (cur.getType() == EventType.API_USER && ((ApiEvent) cur).getApiEventType() == ApiEventType.CHANGE) {
- // This is an EOT change that is occurring after the MigrateBilling : returns same list
- return changeEvents;
- }
- // We found the first event after the migrate billing
- break;
- }
- prevPlan = curPlan;
- prevPhase = curPhase;
- prevPriceList = curPriceList;
- }
- if (prevPlan != null) {
- // Create the new MIGRATE_BILLING with same effectiveDate but new plan information
- final DateTime now = clock.getUTCNow();
- final ApiEventBuilder builder = new ApiEventBuilder()
- .setActive(true)
- .setApiEventType(ApiEventType.MIGRATE_BILLING)
- .setFromDisk(true)
- .setTotalOrdering(migrateBillingEvent.getTotalOrdering())
- .setUuid(UUIDs.randomUUID())
- .setSubscriptionId(migrateBillingEvent.getSubscriptionId())
- .setCreatedDate(now)
- .setUpdatedDate(now)
- .setEffectiveDate(migrateBillingEvent.getEffectiveDate())
- .setActiveVersion(migrateBillingEvent.getCurrentVersion())
- .setEventPlan(prevPlan)
- .setEventPlanPhase(prevPhase)
- .setEventPriceList(prevPriceList);
-
- final SubscriptionBaseEvent newMigrateBillingEvent = new ApiEventMigrateBilling(builder);
- changeEvents.add(newMigrateBillingEvent);
-
- Collections.sort(changeEvents, new Comparator<SubscriptionBaseEvent>() {
- @Override
- public int compare(final SubscriptionBaseEvent o1, final SubscriptionBaseEvent o2) {
- return o1.getEffectiveDate().compareTo(o2.getEffectiveDate());
- }
- });
- }
-
- return changeEvents;
- }
private List<SubscriptionBaseEvent> filterSubscriptionBaseEvents(final List<SubscriptionEventModelDao> models) {
final Collection<SubscriptionEventModelDao> filteredModels = Collections2.filter(models, new Predicate<SubscriptionEventModelDao>() {
@@ -1006,7 +915,7 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
cancelSubscriptionFromTransaction(cancel.getSubscription(), cancel.getCancelEvent(), entitySqlDaoWrapperFactory, fromContext, 0);
}
- migrateBundleDataFromTransaction(bundleTransferData, transactional, entitySqlDaoWrapperFactory, toContext);
+ transferBundleDataFromTransaction(bundleTransferData, transactional, entitySqlDaoWrapperFactory, toContext);
return null;
}
});
@@ -1108,8 +1017,8 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
}
}
- private void migrateBundleDataFromTransaction(final BundleTransferData bundleTransferData, final SubscriptionEventSqlDao transactional,
- final EntitySqlDaoWrapperFactory entitySqlDaoWrapperFactory, final InternalCallContext context) throws EntityPersistenceException {
+ private void transferBundleDataFromTransaction(final BundleTransferData bundleTransferData, final SubscriptionEventSqlDao transactional,
+ final EntitySqlDaoWrapperFactory entitySqlDaoWrapperFactory, final InternalCallContext context) throws EntityPersistenceException {
final SubscriptionSqlDao transSubDao = entitySqlDaoWrapperFactory.become(SubscriptionSqlDao.class);
final BundleSqlDao transBundleDao = entitySqlDaoWrapperFactory.become(BundleSqlDao.class);
@@ -1135,7 +1044,7 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
// Notify the Bus of the latest requested change
final SubscriptionBaseEvent finalEvent = curSubscription.getInitialEvents().get(curSubscription.getInitialEvents().size() - 1);
- notifyBusOfRequestedChange(entitySqlDaoWrapperFactory, subData, finalEvent, SubscriptionBaseTransitionType.MIGRATE_BILLING, context);
+ notifyBusOfRequestedChange(entitySqlDaoWrapperFactory, subData, finalEvent, SubscriptionBaseTransitionType.TRANSFER, context);
}
transBundleDao.create(new SubscriptionBundleModelDao(bundleData), context);
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
index dfb42e4..32d5faf 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
@@ -25,18 +25,9 @@ import org.killbill.billing.subscription.events.SubscriptionBaseEvent.EventType;
import org.killbill.billing.subscription.events.EventBaseBuilder;
import org.killbill.billing.subscription.events.phase.PhaseEvent;
import org.killbill.billing.subscription.events.phase.PhaseEventBuilder;
-import org.killbill.billing.subscription.events.phase.PhaseEventData;
import org.killbill.billing.subscription.events.user.ApiEvent;
import org.killbill.billing.subscription.events.user.ApiEventBuilder;
-import org.killbill.billing.subscription.events.user.ApiEventCancel;
-import org.killbill.billing.subscription.events.user.ApiEventChange;
-import org.killbill.billing.subscription.events.user.ApiEventCreate;
-import org.killbill.billing.subscription.events.user.ApiEventMigrateBilling;
-import org.killbill.billing.subscription.events.user.ApiEventMigrateSubscription;
-import org.killbill.billing.subscription.events.user.ApiEventReCreate;
-import org.killbill.billing.subscription.events.user.ApiEventTransfer;
import org.killbill.billing.subscription.events.user.ApiEventType;
-import org.killbill.billing.subscription.events.user.ApiEventUncancel;
import org.killbill.billing.subscription.exceptions.SubscriptionBaseError;
import org.killbill.billing.util.dao.TableName;
import org.killbill.billing.util.entity.dao.EntityModelDao;
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBuilder.java b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBuilder.java
index 18cedb6..2a52361 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBuilder.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBuilder.java
@@ -94,10 +94,6 @@ public class ApiEventBuilder extends EventBaseBuilder<ApiEventBuilder> {
result = new ApiEventCreate(this);
} else if (apiEventType == ApiEventType.RE_CREATE) {
result = new ApiEventReCreate(this);
- } else if (apiEventType == ApiEventType.MIGRATE_ENTITLEMENT) {
- result = new ApiEventMigrateSubscription(this);
- } else if (apiEventType == ApiEventType.MIGRATE_BILLING) {
- result = new ApiEventMigrateBilling(this);
} else if (apiEventType == ApiEventType.TRANSFER) {
result = new ApiEventTransfer(this);
} else if (apiEventType == ApiEventType.CHANGE) {
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventType.java b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventType.java
index 4006a7a..d4f7ec3 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventType.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventType.java
@@ -20,24 +20,12 @@ import org.killbill.billing.subscription.api.SubscriptionBaseTransitionType;
public enum ApiEventType {
- MIGRATE_ENTITLEMENT {
- @Override
- public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
- return SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT;
- }
- },
CREATE {
@Override
public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
return SubscriptionBaseTransitionType.CREATE;
}
},
- MIGRATE_BILLING {
- @Override
- public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
- return SubscriptionBaseTransitionType.MIGRATE_BILLING;
- }
- },
TRANSFER {
@Override
public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
diff --git a/subscription/src/test/java/org/killbill/billing/subscription/api/transfer/TestDefaultSubscriptionTransferApi.java b/subscription/src/test/java/org/killbill/billing/subscription/api/transfer/TestDefaultSubscriptionTransferApi.java
index 0a9ae88..2a377af 100644
--- a/subscription/src/test/java/org/killbill/billing/subscription/api/transfer/TestDefaultSubscriptionTransferApi.java
+++ b/subscription/src/test/java/org/killbill/billing/subscription/api/transfer/TestDefaultSubscriptionTransferApi.java
@@ -104,71 +104,6 @@ public class TestDefaultSubscriptionTransferApi extends SubscriptionTestSuiteNoD
Assert.assertEquals(((ApiEventTransfer) events.get(0)).getApiEventType(), ApiEventType.TRANSFER);
}
- @Test(groups = "fast")
- public void testEventsAfterTransferForMigratedBundle1() throws Exception {
- // MIGRATE_ENTITLEMENT then MIGRATE_BILLING (both in the past)
- final DateTime transferDate = clock.getUTCNow();
- final DateTime migrateSubscriptionEventEffectiveDate = transferDate.minusDays(10);
- final DateTime migrateBillingEventEffectiveDate = migrateSubscriptionEventEffectiveDate.plusDays(1);
- final List<SubscriptionBaseEvent> events = transferBundle(migrateSubscriptionEventEffectiveDate, migrateBillingEventEffectiveDate, transferDate);
-
- Assert.assertEquals(events.size(), 1);
- Assert.assertEquals(events.get(0).getType(), EventType.API_USER);
- Assert.assertEquals(events.get(0).getEffectiveDate(), transferDate);
- Assert.assertEquals(((ApiEventTransfer) events.get(0)).getApiEventType(), ApiEventType.TRANSFER);
- }
-
- @Test(groups = "fast")
- public void testEventsAfterTransferForMigratedBundle2() throws Exception {
- // MIGRATE_ENTITLEMENT and MIGRATE_BILLING at the same time (both in the past)
- final DateTime transferDate = clock.getUTCNow();
- final DateTime migrateSubscriptionEventEffectiveDate = transferDate.minusDays(10);
- final DateTime migrateBillingEventEffectiveDate = migrateSubscriptionEventEffectiveDate;
- final List<SubscriptionBaseEvent> events = transferBundle(migrateSubscriptionEventEffectiveDate, migrateBillingEventEffectiveDate, transferDate);
-
- Assert.assertEquals(events.size(), 1);
- Assert.assertEquals(events.get(0).getType(), EventType.API_USER);
- Assert.assertEquals(events.get(0).getEffectiveDate(), transferDate);
- Assert.assertEquals(((ApiEventTransfer) events.get(0)).getApiEventType(), ApiEventType.TRANSFER);
- }
-
- @Test(groups = "fast")
- public void testEventsAfterTransferForMigratedBundle3() throws Exception {
- // MIGRATE_ENTITLEMENT then MIGRATE_BILLING (the latter in the future)
- final DateTime transferDate = clock.getUTCNow();
- final DateTime migrateSubscriptionEventEffectiveDate = transferDate.minusDays(10);
- final DateTime migrateBillingEventEffectiveDate = migrateSubscriptionEventEffectiveDate.plusDays(20);
- final List<SubscriptionBaseEvent> events = transferBundle(migrateSubscriptionEventEffectiveDate, migrateBillingEventEffectiveDate, transferDate);
-
- Assert.assertEquals(events.size(), 1);
- Assert.assertEquals(events.get(0).getType(), EventType.API_USER);
- Assert.assertEquals(events.get(0).getEffectiveDate(), transferDate);
- Assert.assertEquals(((ApiEventTransfer) events.get(0)).getApiEventType(), ApiEventType.TRANSFER);
- }
-
- @Test(groups = "fast")
- public void testEventsAfterTransferForMigratedBundle4() throws Exception {
- // MIGRATE_ENTITLEMENT then MIGRATE_BILLING (both in the future)
- final DateTime transferDate = clock.getUTCNow();
- final DateTime migrateSubscriptionEventEffectiveDate = transferDate.plusDays(10);
- final DateTime migrateBillingEventEffectiveDate = migrateSubscriptionEventEffectiveDate.plusDays(20);
- final List<SubscriptionBaseEvent> events = transferBundle(migrateSubscriptionEventEffectiveDate, migrateBillingEventEffectiveDate, transferDate);
-
- Assert.assertEquals(events.size(), 1);
- Assert.assertEquals(events.get(0).getType(), EventType.API_USER);
- Assert.assertEquals(events.get(0).getEffectiveDate(), migrateSubscriptionEventEffectiveDate);
- Assert.assertEquals(((ApiEventTransfer) events.get(0)).getApiEventType(), ApiEventType.TRANSFER);
- }
-
- private List<SubscriptionBaseEvent> transferBundle(final DateTime migrateSubscriptionEventEffectiveDate, final DateTime migrateBillingEventEffectiveDate,
- final DateTime transferDate) throws SubscriptionBaseTransferApiException {
- final ImmutableList<ExistingEvent> existingEvents = createMigrateEvents(migrateSubscriptionEventEffectiveDate, migrateBillingEventEffectiveDate);
- final SubscriptionBuilder subscriptionBuilder = new SubscriptionBuilder();
- final DefaultSubscriptionBase subscription = new DefaultSubscriptionBase(subscriptionBuilder);
-
- return transferApi.toEvents(existingEvents, subscription, transferDate, internalCallContext);
- }
-
private ExistingEvent createEvent(final DateTime eventEffectiveDate, final SubscriptionBaseTransitionType subscriptionTransitionType) {
return new ExistingEvent() {
@Override
@@ -205,73 +140,4 @@ public class TestDefaultSubscriptionTransferApi extends SubscriptionTestSuiteNoD
};
}
- private ImmutableList<ExistingEvent> createMigrateEvents(final DateTime migrateSubscriptionEventEffectiveDate, final DateTime migrateBillingEventEffectiveDate) {
- final ExistingEvent migrateEntitlementEvent = new ExistingEvent() {
- @Override
- public DateTime getEffectiveDate() {
- return migrateSubscriptionEventEffectiveDate;
- }
-
- @Override
- public String getPlanName() {
- return "BicycleTrialEvergreen1USD";
- }
-
- @Override
- public String getPlanPhaseName() {
- return "BicycleTrialEvergreen1USD-trial";
- }
-
- @Override
- public UUID getEventId() {
- return UUID.randomUUID();
- }
-
- @Override
- public PlanPhaseSpecifier getPlanPhaseSpecifier() {
- return new PlanPhaseSpecifier("BicycleTrialEvergreen1USD", ProductCategory.BASE, BillingPeriod.NO_BILLING_PERIOD,
- PriceListSet.DEFAULT_PRICELIST_NAME, PhaseType.FIXEDTERM);
- }
-
- @Override
- public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
- return SubscriptionBaseTransitionType.MIGRATE_ENTITLEMENT;
- }
- };
-
- final ExistingEvent migrateBillingEvent = new ExistingEvent() {
-
- @Override
- public DateTime getEffectiveDate() {
- return migrateBillingEventEffectiveDate;
- }
-
- @Override
- public String getPlanName() {
- return migrateEntitlementEvent.getPlanName();
- }
-
- @Override
- public String getPlanPhaseName() {
- return migrateEntitlementEvent.getPlanPhaseName();
- }
-
- @Override
- public UUID getEventId() {
- return UUID.randomUUID();
- }
-
- @Override
- public PlanPhaseSpecifier getPlanPhaseSpecifier() {
- return migrateEntitlementEvent.getPlanPhaseSpecifier();
- }
-
- @Override
- public SubscriptionBaseTransitionType getSubscriptionTransitionType() {
- return SubscriptionBaseTransitionType.MIGRATE_BILLING;
- }
- };
-
- return ImmutableList.<ExistingEvent>of(migrateEntitlementEvent, migrateBillingEvent);
- }
}
diff --git a/util/src/test/java/org/killbill/billing/api/TestApiListener.java b/util/src/test/java/org/killbill/billing/api/TestApiListener.java
index b4aa841..7bab6d5 100644
--- a/util/src/test/java/org/killbill/billing/api/TestApiListener.java
+++ b/util/src/test/java/org/killbill/billing/api/TestApiListener.java
@@ -100,8 +100,6 @@ public class TestApiListener {
}
public enum NextEvent {
- MIGRATE_ENTITLEMENT,
- MIGRATE_BILLING,
BROADCAST_SERVICE,
CREATE,
TRANSFER,
@@ -157,14 +155,6 @@ public class TestApiListener {
assertEqualsNicely(NextEvent.TRANSFER);
notifyIfStackEmpty();
break;
- case MIGRATE_ENTITLEMENT:
- assertEqualsNicely(NextEvent.MIGRATE_ENTITLEMENT);
- notifyIfStackEmpty();
- break;
- case MIGRATE_BILLING:
- assertEqualsNicely(NextEvent.MIGRATE_BILLING);
- notifyIfStackEmpty();
- break;
case CREATE:
assertEqualsNicely(NextEvent.CREATE);
notifyIfStackEmpty();