MockInvoicePaymentApi.java

46 lines | 1.207 kB Blame History Raw Download
package com.ning.billing.invoice.api;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CopyOnWriteArrayList;

import com.ning.billing.catalog.api.Currency;

public class MockInvoicePaymentApi implements InvoicePaymentApi
{
    private final CopyOnWriteArrayList<Invoice> invoices = new CopyOnWriteArrayList<Invoice>();

    public void add(Invoice invoice) {
        invoices.add(invoice);
    }

    @Override
    public void paymentSuccessful(UUID invoiceId, BigDecimal amount, Currency currency, UUID paymentId) {
        throw new UnsupportedOperationException();
    }

    @Override
    public List<Invoice> getInvoicesByAccount(UUID accountId) {
        ArrayList<Invoice> result = new ArrayList<Invoice>();

        for (Invoice invoice : invoices) {
            if (accountId.equals(invoice.getAccountId())) {
                result.add(invoice);
            }
        }
        return result;
    }

    @Override
    public Invoice getInvoice(UUID invoiceId) {
        for (Invoice invoice : invoices) {
            if (invoiceId.equals(invoice.getId())) {
                return invoice;
            }
        }
        return null;
    }
}