if (plan.getEffectiveDateForExistingSubscriptions() != null) { // If it is null, any change to this catalog does not apply to existing subscriptions final DateTime existingSubscriptionDate = CatalogDateHelper.toUTCDateTime(plan.getEffectiveDateForExistingSubscriptions()); if (requestedDate.isAfter(existingSubscriptionDate)) { // This plan is now applicable to existing subs return new CatalogPlanEntry(c, plan);
private Plan toDefaultPlan(final StaticCatalog staticCatalog, final Plan input) { if (tmpDefaultPlans != null) { final Plan existingPlan = tmpDefaultPlans.get(input.getName()); if (existingPlan == null) throw new IllegalStateException("Unknown plan " + input.getName()); return existingPlan; } final DefaultPlan result = new DefaultPlan(); result.setName(input.getName()); result.setPrettyName(input.getPrettyName()); result.setRecurringBillingMode(input.getRecurringBillingMode()); result.setEffectiveDateForExistingSubscriptions(input.getEffectiveDateForExistingSubscriptions()); result.setFinalPhase(toDefaultPlanPhase(input.getFinalPhase())); result.setInitialPhases(toDefaultPlanPhases(ImmutableList.copyOf(input.getInitialPhases()))); result.setPlansAllowedInBundle(input.getPlansAllowedInBundle()); result.setProduct(toDefaultProduct(input.getProduct())); result.setPriceListName(input.getPriceListName()); return result; }
assertEquals(overriddenPlan.getProduct().getName(), plan.getProduct().getName()); assertEquals(overriddenPlan.getRecurringBillingPeriod(), plan.getRecurringBillingPeriod()); if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
assertEquals(overriddenPlan.getProduct().getName(), plan.getProduct().getName()); assertEquals(overriddenPlan.getRecurringBillingPeriod(), plan.getRecurringBillingPeriod()); if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
if (plan.getEffectiveDateForExistingSubscriptions() != null) { // If it is null, any change to this catalog does not apply to existing subscriptions final DateTime existingSubscriptionDate = CatalogDateHelper.toUTCDateTime(plan.getEffectiveDateForExistingSubscriptions()); if (requestedDate.isAfter(existingSubscriptionDate)) { // This plan is now applicable to existing subs return new CatalogPlanEntry(c, plan);
private Plan toDefaultPlan(final StaticCatalog staticCatalog, final Plan input) { if (tmpDefaultPlans != null) { final Plan existingPlan = tmpDefaultPlans.get(input.getName()); if (existingPlan == null) throw new IllegalStateException("Unknown plan " + input.getName()); return existingPlan; } final DefaultPlan result = new DefaultPlan(); result.setName(input.getName()); result.setPrettyName(input.getPrettyName()); result.setRecurringBillingMode(input.getRecurringBillingMode()); result.setEffectiveDateForExistingSubscriptions(input.getEffectiveDateForExistingSubscriptions()); result.setFinalPhase(toDefaultPlanPhase(input.getFinalPhase())); result.setInitialPhases(toDefaultPlanPhases(ImmutableList.copyOf(input.getInitialPhases()))); result.setPlansAllowedInBundle(input.getPlansAllowedInBundle()); result.setProduct(toDefaultProduct(input.getProduct())); result.setPriceListName(input.getPriceListName()); return result; }
assertEquals(overriddenPlan.getProduct().getName(), plan.getProduct().getName()); assertEquals(overriddenPlan.getRecurringBillingPeriod(), plan.getRecurringBillingPeriod()); if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
assertEquals(overriddenPlan.getProduct().getName(), plan.getProduct().getName()); assertEquals(overriddenPlan.getRecurringBillingPeriod(), plan.getRecurringBillingPeriod()); if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);
if (plan.getEffectiveDateForExistingSubscriptions() != null) { assertEquals(overriddenPlan.getEffectiveDateForExistingSubscriptions().compareTo(plan.getEffectiveDateForExistingSubscriptions()), 0);