killbill-aplcache
Changes
beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestMigrationSubscriptions.java 4(+4 -0)
beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithEntilementPlugin.java 14(+10 -4)
entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementContext.java 16(+14 -2)
Details
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestMigrationSubscriptions.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestMigrationSubscriptions.java
new file mode 100644
index 0000000..ed908be
--- /dev/null
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestMigrationSubscriptions.java
@@ -0,0 +1,4 @@
+package org.killbill.billing.beatrix.integration;
+
+public class TestMigrationSubscriptions {
+}
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithEntilementPlugin.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithEntilementPlugin.java
index 2720eb7..e6f7499 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithEntilementPlugin.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestWithEntilementPlugin.java
@@ -29,6 +29,7 @@ import org.killbill.billing.account.api.AccountData;
import org.killbill.billing.api.TestApiListener.NextEvent;
import org.killbill.billing.beatrix.util.InvoiceChecker.ExpectedInvoiceItemCheck;
import org.killbill.billing.catalog.DefaultPlanPhasePriceOverride;
+import org.killbill.billing.catalog.api.BillingActionPolicy;
import org.killbill.billing.catalog.api.BillingPeriod;
import org.killbill.billing.catalog.api.PlanPhasePriceOverride;
import org.killbill.billing.catalog.api.PlanPhaseSpecifier;
@@ -144,17 +145,22 @@ public class TestWithEntilementPlugin extends TestIntegrationBase {
public boolean isAborted() {
return false;
}
-
@Override
- public LocalDate getAdjustedEffectiveDate() {
+ public LocalDate getAdjustedEntitlementEffectiveDate() {
+ return null;
+ }
+ @Override
+ public LocalDate getAdjustedBillingEffectiveDate() {
+ return null;
+ }
+ @Override
+ public BillingActionPolicy getAdjustedBillingActionPolicy() {
return null;
}
-
@Override
public List<EntitlementSpecifier> getAdjustedEntitlementSpecifiers() {
return entitlementSpecifiers;
}
-
@Override
public Iterable<PluginProperty> getAdjustedPluginProperties() {
return null;
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlement.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlement.java
index 13a4a2a..4cf7938 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlement.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlement.java
@@ -298,6 +298,7 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
// Get the latest state from disk
refresh(callContext);
+ final LocalDate billingEffectiveDate = overrideBillingEffectiveDate ? entitlementEffectiveDate : null;
final EntitlementContext pluginContext = new DefaultEntitlementContext(OperationType.CANCEL_SUBSCRIPTION,
getAccountId(),
null,
@@ -305,8 +306,8 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
getExternalKey(),
null,
entitlementEffectiveDate,
- // TODO wrong date
- entitlementEffectiveDate,
+ billingEffectiveDate,
+ null,
properties,
callContext);
@@ -365,6 +366,7 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
null,
null,
null,
+ null,
properties,
callContext);
@@ -437,8 +439,8 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
getExternalKey(),
null,
entitlementEffectiveDate,
- // TODO wrong date?
- entitlementEffectiveDate,
+ null,
+ billingPolicy,
properties,
callContext);
@@ -514,6 +516,7 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
null,
null,
null,
+ null,
properties,
callContext);
@@ -575,6 +578,7 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
null,
effectiveDate,
effectiveDate,
+ null,
properties,
callContext);
@@ -637,8 +641,8 @@ public class DefaultEntitlement extends EntityBase implements Entitlement {
getExternalKey(),
null,
entitlementEffectiveDate,
- // TODO wrong date
- entitlementEffectiveDate,
+ null,
+ actionPolicy,
properties,
callContext);
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementApi.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementApi.java
index 07819b2..6d920be 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementApi.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementApi.java
@@ -131,6 +131,7 @@ public class DefaultEntitlementApi extends DefaultEntitlementApiBase implements
entitlementSpecifierList,
entitlementEffectiveDate,
billingEffectiveDate,
+ null,
properties,
callContext);
@@ -198,6 +199,7 @@ public class DefaultEntitlementApi extends DefaultEntitlementApiBase implements
entitlementSpecifierList,
entitlementEffectiveDate,
billingEffectiveDate,
+ null,
properties,
callContext);
@@ -253,6 +255,7 @@ public class DefaultEntitlementApi extends DefaultEntitlementApiBase implements
entitlementSpecifierList,
entitlementEffectiveDate,
billingEffectiveDate,
+ null,
properties,
callContext);
@@ -407,6 +410,7 @@ public class DefaultEntitlementApi extends DefaultEntitlementApiBase implements
new ArrayList<EntitlementSpecifier>(),
effectiveDate,
effectiveDate,
+ null,
properties,
context);
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementContext.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementContext.java
index 9158eb0..d5ec969 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementContext.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultEntitlementContext.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
+import org.killbill.billing.catalog.api.BillingActionPolicy;
import org.killbill.billing.entitlement.plugin.api.EntitlementContext;
import org.killbill.billing.entitlement.plugin.api.OperationType;
import org.killbill.billing.entitlement.plugin.api.PriorEntitlementResult;
@@ -43,6 +44,7 @@ public class DefaultEntitlementContext implements EntitlementContext {
private final List<EntitlementSpecifier> entitlementSpecifiers;
private final LocalDate entitlementEffectiveDate;
private final LocalDate billingEffectiveDate;
+ private final BillingActionPolicy billingActionPolicy;
private final Iterable<PluginProperty> pluginProperties;
private final UUID userToken;
private final String userName;
@@ -63,7 +65,9 @@ public class DefaultEntitlementContext implements EntitlementContext {
prev.getBundleId(),
prev.getExternalKey(),
pluginResult != null && pluginResult.getAdjustedEntitlementSpecifiers() != null ? pluginResult.getAdjustedEntitlementSpecifiers() : prev.getEntitlementSpecifiers(),
- pluginResult != null && pluginResult.getAdjustedEffectiveDate() != null ? pluginResult.getAdjustedEffectiveDate() : prev.getEntitlementEffectiveDate(), prev.getBillingEffectiveDate(),
+ pluginResult != null && pluginResult.getAdjustedEntitlementEffectiveDate() != null ? pluginResult.getAdjustedEntitlementEffectiveDate() : prev.getEntitlementEffectiveDate(),
+ pluginResult != null && pluginResult.getAdjustedBillingEffectiveDate() != null ? pluginResult.getAdjustedBillingEffectiveDate() : prev.getBillingEffectiveDate(),
+ pluginResult != null && pluginResult.getAdjustedBillingActionPolicy() != null ? pluginResult.getAdjustedBillingActionPolicy() : prev.getBillingActionPolicy(),
pluginResult != null && pluginResult.getAdjustedPluginProperties() != null ? pluginResult.getAdjustedPluginProperties() : prev.getPluginProperties(),
prev);
}
@@ -76,9 +80,10 @@ public class DefaultEntitlementContext implements EntitlementContext {
final List<EntitlementSpecifier> entitlementSpecifiers,
@Nullable final LocalDate entitlementEffectiveDate,
@Nullable final LocalDate billingEffectiveDate,
+ @Nullable final BillingActionPolicy actionPolicy,
final Iterable<PluginProperty> pluginProperties,
final CallContext callContext) {
- this(operationType, accountId, destinationAccountId, bundleId, externalKey, entitlementSpecifiers, entitlementEffectiveDate, billingEffectiveDate, pluginProperties,
+ this(operationType, accountId, destinationAccountId, bundleId, externalKey, entitlementSpecifiers, entitlementEffectiveDate, billingEffectiveDate, actionPolicy, pluginProperties,
callContext.getUserToken(), callContext.getUserName(), callContext.getCallOrigin(), callContext.getUserType(), callContext.getReasonCode(),
callContext.getComments(), callContext.getCreatedDate(), callContext.getUpdatedDate(), callContext.getTenantId());
}
@@ -92,6 +97,7 @@ public class DefaultEntitlementContext implements EntitlementContext {
final List<EntitlementSpecifier> entitlementSpecifiers,
@Nullable final LocalDate entitlementEffectiveDate,
@Nullable final LocalDate billingEffectiveDate,
+ @Nullable final BillingActionPolicy actionPolicy,
final Iterable<PluginProperty> pluginProperties,
final UUID userToken,
final String userName,
@@ -110,6 +116,7 @@ public class DefaultEntitlementContext implements EntitlementContext {
this.entitlementSpecifiers = entitlementSpecifiers;
this.entitlementEffectiveDate = entitlementEffectiveDate;
this.billingEffectiveDate = billingEffectiveDate;
+ this.billingActionPolicy = actionPolicy;
this.pluginProperties = pluginProperties;
this.userToken = userToken;
this.userName = userName;
@@ -164,6 +171,11 @@ public class DefaultEntitlementContext implements EntitlementContext {
}
@Override
+ public BillingActionPolicy getBillingActionPolicy() {
+ return billingActionPolicy;
+ }
+
+ @Override
public Iterable<PluginProperty> getPluginProperties() {
return pluginProperties;
}
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionApi.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionApi.java
index 6b7140d..fc63c7b 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionApi.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionApi.java
@@ -282,6 +282,7 @@ public class DefaultSubscriptionApi implements SubscriptionApi {
new ArrayList<EntitlementSpecifier>(),
effectiveDate,
effectiveDate,
+ null,
ImmutableList.<PluginProperty>of(),
callContext);
@@ -365,6 +366,7 @@ public class DefaultSubscriptionApi implements SubscriptionApi {
new ArrayList<EntitlementSpecifier>(),
new LocalDate(blockingState.getEffectiveDate(), account.getTimeZone()),
null,
+ null,
properties,
callContext);
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementApiBase.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementApiBase.java
index 5b36d2b..b1a720c 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementApiBase.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementApiBase.java
@@ -157,6 +157,7 @@ public class DefaultEntitlementApiBase {
null,
localEffectiveDate,
localEffectiveDate,
+ null,
properties,
internalCallContextFactory.createCallContext(internalCallContext));
@@ -198,6 +199,7 @@ public class DefaultEntitlementApiBase {
null,
localEffectiveDate,
localEffectiveDate,
+ null,
properties,
internalCallContextFactory.createCallContext(internalCallContext));
final WithEntitlementPlugin<Void> resumeWithPlugin = new WithEntitlementPlugin<Void>() {
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
index 9cbe35a..3fc96da 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/svcs/DefaultEntitlementInternalApi.java
@@ -114,8 +114,8 @@ public class DefaultEntitlementInternalApi extends DefaultEntitlementApiBase imp
entitlement.getExternalKey(),
null,
effectiveDate,
- // TODO this is incorrect, the date will be the result of the billingPolicy
- effectiveDate,
+ null,
+ billingPolicy,
properties,
callContext);
pluginContexts.add(pluginContext);