public DefaultPlanPhase(final Plan parentPlan, final DefaultPlanPhase in, @Nullable final PlanPhasePriceOverride override) { this.type = in.getPhaseType(); this.duration = (DefaultDuration) in.getDuration(); this.fixed = override != null && override.getFixedPrice() != null ? new DefaultFixed((DefaultFixed) in.getFixed(), override) : (DefaultFixed) in.getFixed(); this.recurring = override != null && override.getRecurringPrice() != null ? new DefaultRecurring((DefaultRecurring) in.getRecurring(), override) : (DefaultRecurring) in.getRecurring(); this.usages = new DefaultUsage[in.getUsages().length]; for (int i = 0; i < in.getUsages().length; i++) { final Usage curUsage = in.getUsages()[i]; if (override != null && override.getUsagePriceOverrides() != null) { final UsagePriceOverride usagePriceOverride = Iterables.tryFind(override.getUsagePriceOverrides(), new Predicate<UsagePriceOverride>() { @Override public boolean apply(final UsagePriceOverride input) { return input != null && input.getName().equals(curUsage.getName()); } }).orNull(); usages[i] = (usagePriceOverride != null) ? new DefaultUsage(in.getUsages()[i], usagePriceOverride, override.getCurrency()) : (DefaultUsage) curUsage; } else { usages[i] = (DefaultUsage) curUsage; } } this.planName = parentPlan.getName(); this.product = parentPlan.getProduct(); }
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
if (plan.getInitialPhases()[0].getDuration().getUnit() != desc.getTrialTimeUnit() || plan.getInitialPhases()[0].getDuration().getNumber() != desc.getTrialLength()) { failedValidation = true;
public DefaultPlanPhase(final Plan parentPlan, final DefaultPlanPhase in, @Nullable final PlanPhasePriceOverride override) { this.type = in.getPhaseType(); this.duration = (DefaultDuration) in.getDuration(); this.fixed = override != null && override.getFixedPrice() != null ? new DefaultFixed((DefaultFixed) in.getFixed(), override) : (DefaultFixed) in.getFixed(); this.recurring = override != null && override.getRecurringPrice() != null ? new DefaultRecurring((DefaultRecurring) in.getRecurring(), override) : (DefaultRecurring) in.getRecurring(); this.usages = new DefaultUsage[in.getUsages().length]; for (int i = 0; i < in.getUsages().length; i++) { final Usage curUsage = in.getUsages()[i]; if (override != null && override.getUsagePriceOverrides() != null) { final UsagePriceOverride usagePriceOverride = Iterables.tryFind(override.getUsagePriceOverrides(), new Predicate<UsagePriceOverride>() { @Override public boolean apply(final UsagePriceOverride input) { return input != null && input.getName().equals(curUsage.getName()); } }).orNull(); usages[i] = (usagePriceOverride != null) ? new DefaultUsage(in.getUsages()[i], usagePriceOverride, override.getCurrency()) : (DefaultUsage) curUsage; } else { usages[i] = (DefaultUsage) curUsage; } } this.planName = parentPlan.getName(); this.product = parentPlan.getProduct(); }
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
assertEquals(newPhase.getDuration(), initialPhase.getDuration()); assertEquals(newPhase.getPhaseType(), initialPhase.getPhaseType()); assertEquals(newPhase.getUsages().length, initialPhase.getUsages().length);
if (plan.getInitialPhases()[0].getDuration().getUnit() != desc.getTrialTimeUnit() || plan.getInitialPhases()[0].getDuration().getNumber() != desc.getTrialLength()) { failedValidation = true;