@Override public InvoiceItemType getInvoiceItemType() { return item.getInvoiceItemType(); }
protected boolean isAdjustmentItem(final InvoiceItem invoiceItem) { return ADJUSTMENT_ITEM_TYPES.contains(invoiceItem.getInvoiceItemType()); } }
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == invoiceItemType && input.getSubscriptionId().equals(subscriptionId); } });
public static boolean isCharge(final InvoiceItem invoiceItem) { return InvoiceItemType.TAX.equals(invoiceItem.getInvoiceItemType()) || InvoiceItemType.EXTERNAL_CHARGE.equals(invoiceItem.getInvoiceItemType()) || InvoiceItemType.FIXED.equals(invoiceItem.getInvoiceItemType()) || InvoiceItemType.USAGE.equals(invoiceItem.getInvoiceItemType()) || InvoiceItemType.RECURRING.equals(invoiceItem.getInvoiceItemType()); }
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == InvoiceItemType.TAX; } }).orNull();
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == InvoiceItemType.EXTERNAL_CHARGE; } }).orNull();
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == InvoiceItemType.ITEM_ADJ; } }).orNull();
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == InvoiceItemType.EXTERNAL_CHARGE; } }).orNull();
@Override public boolean apply(final InvoiceItem invoiceItem) { return InvoiceItemType.ITEM_ADJ.equals(invoiceItem.getInvoiceItemType()); } });
protected boolean isTaxItem(final InvoiceItem invoiceItem) { return InvoiceItemType.TAX.equals(invoiceItem.getInvoiceItemType()); }
private UUID getSubscriptionId(final InvoiceItem item, final List<InvoiceItem> allItems) { if (item.getInvoiceItemType() == InvoiceItemType.RECURRING || item.getInvoiceItemType() == InvoiceItemType.FIXED) { return item.getSubscriptionId(); } else { final InvoiceItem linkedItem = getLinkedInvoiceItem(item, allItems); return linkedItem != null ? linkedItem.getSubscriptionId() : null; } }
public static boolean isInvoiceAdjustmentItem(final InvoiceItem invoiceItem, final Iterable<InvoiceItem> otherInvoiceItems) { // Invoice level credit, i.e. credit adj, but NOT on its on own invoice return (InvoiceItemType.CREDIT_ADJ.equals(invoiceItem.getInvoiceItemType()) && !(Iterables.size(otherInvoiceItems) == 1 && InvoiceItemType.CBA_ADJ.equals(otherInvoiceItems.iterator().next().getInvoiceItemType()) && otherInvoiceItems.iterator().next().getInvoiceId().equals(invoiceItem.getInvoiceId()) && otherInvoiceItems.iterator().next().getAmount().compareTo(invoiceItem.getAmount().negate()) == 0)); }
@Test(groups = "fast") public void testType() { final InvoiceItem invoiceItem = new ItemAdjInvoiceItem(UUID.randomUUID(), null, UUID.randomUUID(), UUID.randomUUID(), new LocalDate(2010, 1, 1), null, new BigDecimal("7.00"), Currency.USD, UUID.randomUUID(), null); Assert.assertEquals(invoiceItem.getInvoiceItemType(), InvoiceItemType.ITEM_ADJ); } }
@Override public boolean apply(final InvoiceItem input) { return InvoiceItemType.RECURRING.equals(input.getInvoiceItemType()); } });
@Override public BigDecimal getChargedAmount() { BigDecimal result = BigDecimal.ZERO; for (final InvoiceItem i : invoiceItems) { if (!i.getInvoiceItemType().equals(InvoiceItemType.CBA_ADJ)) { result = result.add(i.getAmount()); } } return result; }
@Override public boolean apply(final InvoiceItem input) { if (input.getInvoiceItemType() != InvoiceItemType.USAGE) { return false; } // STEPH what happens if we discover usage period that overlap (one side or both side) the [startDate, endDate] interval final UsageInvoiceItem usageInput = (UsageInvoiceItem) input; return usageInput.getUsageName().equals(usage.getName()) && usageInput.getStartDate().compareTo(startDate) >= 0 && usageInput.getEndDate().compareTo(endDate) <= 0; } });
@Override public BigDecimal getCreditedAmount() { BigDecimal result = BigDecimal.ZERO; for (final InvoiceItem i : invoiceItems) { if (i.getInvoiceItemType().equals(InvoiceItemType.CBA_ADJ)) { result = result.add(i.getAmount()); } } return result; }
@Override public boolean apply(final InvoiceItem input) { return input.getInvoiceItemType() == InvoiceItemType.RECURRING && input.getSubscriptionId().equals(bpEntitlement1.getId()); } }).orNull();
public InvoiceItemJson(final InvoiceItem item, final List<InvoiceItem> childItems, @Nullable final List<AuditLog> auditLogs) { this(item.getId(), item.getInvoiceId(), item.getLinkedItemId(), item.getAccountId(), item.getChildAccountId(), item.getBundleId(), item.getSubscriptionId(), item.getProductName(), item.getPlanName(), item.getPhaseName(), item.getUsageName(), item.getPrettyProductName(), item.getPrettyPlanName(), item.getPrettyPhaseName(), item.getPrettyUsageName(), item.getInvoiceItemType(), item.getDescription(), item.getStartDate(), item.getEndDate(), item.getAmount(), item.getRate(), item.getCurrency(), item.getQuantity(), item.getItemDetails(), toInvoiceItemJson(childItems), toAuditLogJson(auditLogs)); }
public InvoiceItemModelDao(final InvoiceItem invoiceItem) { this(invoiceItem.getId(), invoiceItem.getCreatedDate(), invoiceItem.getInvoiceItemType(), invoiceItem.getInvoiceId(), invoiceItem.getAccountId(), invoiceItem.getChildAccountId(), invoiceItem.getBundleId(), invoiceItem.getSubscriptionId(), invoiceItem.getDescription(), invoiceItem.getProductName(), invoiceItem.getPlanName(), invoiceItem.getPhaseName(), invoiceItem.getUsageName(), invoiceItem.getStartDate(), invoiceItem.getEndDate(), invoiceItem.getAmount(), invoiceItem.getRate(), invoiceItem.getCurrency(), invoiceItem.getLinkedItemId(), invoiceItem.getQuantity(), invoiceItem.getItemDetails()); }