Details
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/CreditInvoiceItemSqlDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/CreditInvoiceItemSqlDao.java
index 7f31b7b..ab14d43 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/CreditInvoiceItemSqlDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/CreditInvoiceItemSqlDao.java
@@ -43,7 +43,7 @@ import org.skife.jdbi.v2.tweak.ResultSetMapper;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.model.CreditInvoiceItem;
+import com.ning.billing.invoice.model.CreditBalanceAdjInvoiceItem;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.dao.EntitySqlDao;
@@ -76,8 +76,8 @@ public interface CreditInvoiceItemSqlDao extends EntitySqlDao<InvoiceItem> {
public @interface CreditInvoiceItemBinder {
public static class CreditInvoiceItemBinderFactory implements BinderFactory {
public Binder build(final Annotation annotation) {
- return new Binder<CreditInvoiceItemBinder, CreditInvoiceItem>() {
- public void bind(final SQLStatement q, final CreditInvoiceItemBinder bind, final CreditInvoiceItem item) {
+ return new Binder<CreditInvoiceItemBinder, CreditBalanceAdjInvoiceItem>() {
+ public void bind(final SQLStatement q, final CreditInvoiceItemBinder bind, final CreditBalanceAdjInvoiceItem item) {
q.bind("id", item.getId().toString());
q.bind("invoiceId", item.getInvoiceId().toString());
q.bind("accountId", item.getAccountId().toString());
@@ -99,7 +99,7 @@ public interface CreditInvoiceItemSqlDao extends EntitySqlDao<InvoiceItem> {
final DateTime creditDate = new DateTime(result.getTimestamp("credit_date"));
final BigDecimal amount = result.getBigDecimal("amount");
final Currency currency = Currency.valueOf(result.getString("currency"));
- return new CreditInvoiceItem(id, invoiceId, accountId, creditDate, amount, currency);
+ return new CreditBalanceAdjInvoiceItem(id, invoiceId, accountId, creditDate, amount, currency);
}
}
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
index 7102051..a53705f 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
@@ -33,7 +33,7 @@ import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.api.InvoicePayment;
-import com.ning.billing.invoice.model.CreditInvoiceItem;
+import com.ning.billing.invoice.model.CreditBalanceAdjInvoiceItem;
import com.ning.billing.invoice.model.DefaultInvoice;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
@@ -169,7 +169,7 @@ public class DefaultInvoiceDao implements InvoiceDao {
recordIdList = fixedPriceInvoiceItemDao.getRecordIds(invoice.getId().toString());
audits.addAll(createAudits(TableName.FIXED_INVOICE_ITEMS, recordIdList));
- final List<InvoiceItem> creditInvoiceItems = invoice.getInvoiceItems(CreditInvoiceItem.class);
+ final List<InvoiceItem> creditInvoiceItems = invoice.getInvoiceItems(CreditBalanceAdjInvoiceItem.class);
final CreditInvoiceItemSqlDao creditInvoiceItemSqlDao = transactional.become(CreditInvoiceItemSqlDao.class);
creditInvoiceItemSqlDao.batchCreateFromTransaction(creditInvoiceItems, context);
recordIdList = creditInvoiceItemSqlDao.getRecordIds(invoice.getId().toString());
@@ -339,7 +339,7 @@ public class DefaultInvoiceDao implements InvoiceDao {
final Invoice invoice = new DefaultInvoice(accountId, effectiveDate, effectiveDate, currency);
invoiceSqlDao.create(invoice, context);
- final InvoiceItem credit = new CreditInvoiceItem(invoice.getId(), accountId, effectiveDate, amount, currency);
+ final InvoiceItem credit = new CreditBalanceAdjInvoiceItem(invoice.getId(), accountId, effectiveDate, amount, currency);
creditInvoiceItemSqlDao.create(credit, context);
return credit;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoiceGenerator.java b/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoiceGenerator.java
index 486e803..897a3cf 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoiceGenerator.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/DefaultInvoiceGenerator.java
@@ -134,7 +134,7 @@ public class DefaultInvoiceGenerator implements InvoiceGenerator {
for (final UUID invoiceId : amountOwedByInvoice.keySet()) {
final BigDecimal invoiceBalance = amountOwedByInvoice.get(invoiceId);
if (invoiceBalance.compareTo(BigDecimal.ZERO) < 0) {
- proposedItems.add(new CreditInvoiceItem(invoiceId, accountId, clock.getUTCNow(), invoiceBalance.negate(), currency));
+ proposedItems.add(new CreditBalanceAdjInvoiceItem(invoiceId, accountId, clock.getUTCNow(), invoiceBalance.negate(), currency));
}
}
}
@@ -154,13 +154,13 @@ public class DefaultInvoiceGenerator implements InvoiceGenerator {
BigDecimal totalAmountOwed = BigDecimal.ZERO;
for (final InvoiceItem item : existingItems) {
- if (item instanceof CreditInvoiceItem) {
+ if (item instanceof CreditBalanceAdjInvoiceItem) {
totalUnusedCreditAmount = totalUnusedCreditAmount.add(item.getAmount());
}
}
for (final InvoiceItem item : proposedItems) {
- if (item instanceof CreditInvoiceItem) {
+ if (item instanceof CreditBalanceAdjInvoiceItem) {
totalUnusedCreditAmount = totalUnusedCreditAmount.add(item.getAmount());
} else {
totalAmountOwed = totalAmountOwed.add(item.getAmount());
@@ -179,7 +179,7 @@ public class DefaultInvoiceGenerator implements InvoiceGenerator {
}
if (creditAmount.compareTo(BigDecimal.ZERO) < 0) {
- proposedItems.add(new CreditInvoiceItem(invoiceId, accountId, clock.getUTCNow(), creditAmount, targetCurrency));
+ proposedItems.add(new CreditBalanceAdjInvoiceItem(invoiceId, accountId, clock.getUTCNow(), creditAmount, targetCurrency));
}
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/FixedPriceInvoiceItem.java b/invoice/src/main/java/com/ning/billing/invoice/model/FixedPriceInvoiceItem.java
index 9176230..7a9d3bd 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/FixedPriceInvoiceItem.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/FixedPriceInvoiceItem.java
@@ -30,12 +30,12 @@ public class FixedPriceInvoiceItem extends InvoiceItemBase {
public FixedPriceInvoiceItem(final UUID invoiceId, final UUID accountId, @Nullable final UUID bundleId, @Nullable final UUID subscriptionId, final String planName, final String phaseName,
final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency) {
- super(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency, InvoiceItemType.FIXED);
+ super(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency);
}
public FixedPriceInvoiceItem(final UUID id, final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId, final String planName, final String phaseName,
final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency) {
- super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency, InvoiceItemType.FIXED);
+ super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency);
}
@Override
@@ -151,4 +151,10 @@ public class FixedPriceInvoiceItem extends InvoiceItemBase {
return true;
}
+
+ @Override
+ public InvoiceItemType getInvoiceItemType() {
+ return InvoiceItemType.FIXED;
+ }
+
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemBase.java b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemBase.java
index 89bd1a3..f219c3d 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemBase.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemBase.java
@@ -28,28 +28,48 @@ import com.ning.billing.invoice.api.InvoiceItemType;
import com.ning.billing.util.entity.EntityBase;
public abstract class InvoiceItemBase extends EntityBase implements InvoiceItem {
+
+ /* Common to all items */
protected final UUID invoiceId;
protected final UUID accountId;
- protected final UUID subscriptionId;
- protected final UUID bundleId;
- protected final String planName;
- protected final String phaseName;
protected final DateTime startDate;
protected final DateTime endDate;
protected final BigDecimal amount;
protected final Currency currency;
- protected final InvoiceItemType invoiceItemType;
+
+ /* Fixed and recurring specific */
+ protected final UUID subscriptionId;
+ protected final UUID bundleId;
+ protected final String planName;
+ protected final String phaseName;
+
+ /* Recurring specific STEPH */
+ protected final BigDecimal rate;
+ protected final UUID reversedItemId;
+
+
+ public InvoiceItemBase(final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId, final String planName, final String phaseName,
+ final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency) {
+ this(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, null, currency, null);
+
+ }
public InvoiceItemBase(final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId, final String planName, final String phaseName,
- final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency, final InvoiceItemType invoiceItemType) {
+ final DateTime startDate, final DateTime endDate, final BigDecimal amount, final BigDecimal rate, final Currency currency, final UUID reversedItemId) {
this(UUID.randomUUID(), invoiceId, accountId, bundleId, subscriptionId, planName, phaseName,
- startDate, endDate, amount, currency, invoiceItemType);
+ startDate, endDate, amount, rate, currency, reversedItemId);
}
public InvoiceItemBase(final UUID id, final UUID invoiceId, final UUID accountId, @Nullable final UUID bundleId,
- @Nullable final UUID subscriptionId, @Nullable final String planName, @Nullable final String phaseName,
- final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency,
- final InvoiceItemType invoiceItemType) {
+ @Nullable final UUID subscriptionId, @Nullable final String planName, @Nullable final String phaseName,
+ final DateTime startDate, final DateTime endDate, final BigDecimal amount, final Currency currency) {
+ this(subscriptionId, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, null, currency, null);
+ }
+
+ public InvoiceItemBase(final UUID id, final UUID invoiceId, final UUID accountId, @Nullable final UUID bundleId,
+ @Nullable final UUID subscriptionId, @Nullable final String planName, @Nullable final String phaseName,
+ final DateTime startDate, final DateTime endDate, final BigDecimal amount, final BigDecimal rate, final Currency currency,
+ UUID reversedItemId) {
super(id);
this.invoiceId = invoiceId;
this.accountId = accountId;
@@ -61,7 +81,8 @@ public abstract class InvoiceItemBase extends EntityBase implements InvoiceItem
this.endDate = endDate;
this.amount = amount;
this.currency = currency;
- this.invoiceItemType = invoiceItemType;
+ this.rate = rate;
+ this.reversedItemId = reversedItemId;
}
@Override
@@ -74,6 +95,7 @@ public abstract class InvoiceItemBase extends EntityBase implements InvoiceItem
return bundleId;
}
+ @Override
public UUID getAccountId() {
return accountId;
}
@@ -114,9 +136,7 @@ public abstract class InvoiceItemBase extends EntityBase implements InvoiceItem
}
@Override
- public InvoiceItemType getInvoiceItemType() {
- return invoiceItemType;
- }
+ public abstract InvoiceItemType getInvoiceItemType();
@Override
public abstract InvoiceItem asReversingItem();
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
index 265f518..892a3ec 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/InvoiceItemList.java
@@ -40,7 +40,7 @@ public class InvoiceItemList extends ArrayList<InvoiceItem> {
BigDecimal total = BigDecimal.ZERO.setScale(NUMBER_OF_DECIMALS, ROUNDING_METHOD);
for (final InvoiceItem item : this) {
- if (!(item instanceof CreditInvoiceItem)) {
+ if (!(item instanceof CreditBalanceAdjInvoiceItem)) {
if (item.getAmount() != null) {
total = total.add(item.getAmount());
}
@@ -55,7 +55,7 @@ public class InvoiceItemList extends ArrayList<InvoiceItem> {
BigDecimal total = BigDecimal.ZERO.setScale(NUMBER_OF_DECIMALS, ROUNDING_METHOD);
for (final InvoiceItem item : this) {
- if (item instanceof CreditInvoiceItem) {
+ if (item instanceof CreditBalanceAdjInvoiceItem) {
if (item.getAmount() != null) {
total = total.add(item.getAmount());
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/model/RecurringInvoiceItem.java b/invoice/src/main/java/com/ning/billing/invoice/model/RecurringInvoiceItem.java
index 9c9dcb9..4d3aa6e 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/model/RecurringInvoiceItem.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/model/RecurringInvoiceItem.java
@@ -30,16 +30,13 @@ import com.ning.billing.invoice.api.InvoiceItemType;
public class RecurringInvoiceItem extends InvoiceItemBase {
private final DateTimeFormatter dateTimeFormatter = DateTimeFormat.mediumDate();
- private final BigDecimal rate;
- private final UUID reversedItemId;
+
public RecurringInvoiceItem(final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId, final String planName, final String phaseName,
final DateTime startDate, final DateTime endDate,
final BigDecimal amount, final BigDecimal rate,
final Currency currency) {
- super(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency, InvoiceItemType.RECURRING);
- this.rate = rate;
- this.reversedItemId = null;
+ super(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, rate, currency, null);
}
public RecurringInvoiceItem(final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId, final String planName, final String phaseName,
@@ -47,9 +44,7 @@ public class RecurringInvoiceItem extends InvoiceItemBase {
final BigDecimal amount, final BigDecimal rate,
final Currency currency, final UUID reversedItemId) {
super(invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate,
- amount, currency, InvoiceItemType.REVERSAL);
- this.rate = rate;
- this.reversedItemId = reversedItemId;
+ amount, rate, currency, reversedItemId);
}
public RecurringInvoiceItem(final UUID id, final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId,
@@ -57,9 +52,7 @@ public class RecurringInvoiceItem extends InvoiceItemBase {
final DateTime startDate, final DateTime endDate,
final BigDecimal amount, final BigDecimal rate,
final Currency currency) {
- super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency, InvoiceItemType.RECURRING);
- this.rate = rate;
- this.reversedItemId = null;
+ super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, rate, currency, null);
}
public RecurringInvoiceItem(final UUID id, final UUID invoiceId, final UUID accountId, final UUID bundleId, final UUID subscriptionId,
@@ -67,9 +60,7 @@ public class RecurringInvoiceItem extends InvoiceItemBase {
final DateTime startDate, final DateTime endDate,
final BigDecimal amount, final BigDecimal rate,
final Currency currency, final UUID reversedItemId) {
- super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, currency, InvoiceItemType.REVERSAL);
- this.rate = rate;
- this.reversedItemId = reversedItemId;
+ super(id, invoiceId, accountId, bundleId, subscriptionId, planName, phaseName, startDate, endDate, amount, rate, currency, reversedItemId);
}
@Override
@@ -192,7 +183,7 @@ public class RecurringInvoiceItem extends InvoiceItemBase {
result = 31 * result + amount.hashCode();
result = 31 * result + rate.hashCode();
result = 31 * result + currency.hashCode();
- result = 31 * result + invoiceItemType.hashCode();
+ result = 31 * result + getInvoiceItemType().hashCode();
result = 31 * result + (reversedItemId != null ? reversedItemId.hashCode() : 0);
return result;
}
@@ -210,4 +201,10 @@ public class RecurringInvoiceItem extends InvoiceItemBase {
return sb.toString();
}
+
+ @Override
+ public InvoiceItemType getInvoiceItemType() {
+ return InvoiceItemType.RECURRING;
+ }
+
}
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql b/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
index 7c69562..1fc1d62 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
+++ b/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
@@ -1,4 +1,32 @@
+
DROP TABLE IF EXISTS invoice_items;
+CREATE TABLE invoice_items (
+ record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
+ id char(36) NOT NULL,
+ type varchar(24) NOT NULL,
+ invoice_id char(36) NOT NULL,
+ account_id char(36) NOT NULL,
+ bundle_id char(36),
+ subscription_id char(36),
+ plan_name varchar(50),
+ phase_name varchar(50),
+ start_date datetime NOT NULL,
+ end_date datetime,
+ amount numeric(10,4) NOT NULL,
+ rate numeric(10,4) NULL,
+ currency char(3) NOT NULL,
+ reversed_item_id char(36),
+ created_by varchar(50) NOT NULL,
+ created_date datetime NOT NULL,
+ PRIMARY KEY(record_id)
+) ENGINE=innodb;
+
+CREATE UNIQUE INDEX invoice_items_id ON invoice_items(id);
+CREATE INDEX invoice_items_subscription_id ON invoice_items(subscription_id ASC);
+CREATE INDEX invoice_items_invoice_id ON invoice_items(invoice_id ASC);
+CREATE INDEX invoice_items_account_id ON invoice_items(account_id ASC);
+
+
DROP TABLE IF EXISTS recurring_invoice_items;
CREATE TABLE recurring_invoice_items (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
index 637dd5a..ff6e2d5 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
@@ -59,6 +59,8 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
protected RecurringInvoiceItemSqlDao recurringInvoiceItemDao;
protected FixedPriceInvoiceItemSqlDao fixedPriceInvoiceItemSqlDao;
protected CreditInvoiceItemSqlDao creditInvoiceItemSqlDao;
+
+ protected InvoiceItemSqlDao invoiceItemSqlDao;
protected InvoicePaymentSqlDao invoicePaymentDao;
protected Clock clock;
protected CallContext context;
@@ -109,6 +111,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
recurringInvoiceItemDao = dbi.onDemand(RecurringInvoiceItemSqlDao.class);
fixedPriceInvoiceItemSqlDao = dbi.onDemand(FixedPriceInvoiceItemSqlDao.class);
creditInvoiceItemSqlDao = dbi.onDemand(CreditInvoiceItemSqlDao.class);
+ invoiceItemSqlDao = dbi.onDemand(InvoiceItemSqlDao.class);
invoicePaymentDao = dbi.onDemand(InvoicePaymentSqlDao.class);
clock = new ClockMock();
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
index ad14b3e..d5e6248 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
@@ -25,7 +25,7 @@ import org.testng.annotations.Test;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.model.CreditInvoiceItem;
+import com.ning.billing.invoice.model.CreditBalanceAdjInvoiceItem;
import com.ning.billing.invoice.model.DefaultInvoice;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
@@ -36,6 +36,9 @@ import static org.testng.Assert.assertTrue;
@Test(groups = {"slow", "invoicing", "invoicing-invoiceDao"})
public class InvoiceItemDaoTests extends InvoiceDaoTestBase {
+
+
+
@Test
public void testInvoiceItemCreation() {
final UUID accountId = UUID.randomUUID();
@@ -48,9 +51,9 @@ public class InvoiceItemDaoTests extends InvoiceDaoTestBase {
final RecurringInvoiceItem item = new RecurringInvoiceItem(invoiceId, accountId, bundleId, subscriptionId, "test plan", "test phase", startDate, endDate,
rate, rate, Currency.USD);
- recurringInvoiceItemDao.create(item, context);
+ invoiceItemSqlDao.create(item, context);
- final RecurringInvoiceItem thisItem = (RecurringInvoiceItem) recurringInvoiceItemDao.getById(item.getId().toString());
+ final RecurringInvoiceItem thisItem = (RecurringInvoiceItem) invoiceItemSqlDao.getById(item.getId().toString());
assertNotNull(thisItem);
assertEquals(thisItem.getId(), item.getId());
assertEquals(thisItem.getInvoiceId(), item.getInvoiceId());
@@ -137,7 +140,7 @@ public class InvoiceItemDaoTests extends InvoiceDaoTestBase {
final UUID accountId = UUID.randomUUID();
final DateTime creditDate = new DateTime(2012, 4, 1, 0, 10, 22, 0);
- final InvoiceItem creditInvoiceItem = new CreditInvoiceItem(invoiceId, accountId, creditDate, TEN, Currency.USD);
+ final InvoiceItem creditInvoiceItem = new CreditBalanceAdjInvoiceItem(invoiceId, accountId, creditDate, TEN, Currency.USD);
creditInvoiceItemSqlDao.create(creditInvoiceItem, context);
final InvoiceItem savedItem = creditInvoiceItemSqlDao.getById(creditInvoiceItem.getId().toString());
diff --git a/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java b/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
index fe953c0..98a8ecc 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
@@ -47,7 +47,7 @@ import com.ning.billing.invoice.MockBillingEventSet;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.model.CreditInvoiceItem;
+import com.ning.billing.invoice.model.CreditBalanceAdjInvoiceItem;
import com.ning.billing.invoice.model.DefaultInvoice;
import com.ning.billing.invoice.model.DefaultInvoiceGenerator;
import com.ning.billing.invoice.model.DefaultInvoicePayment;
@@ -957,7 +957,7 @@ public class DefaultInvoiceGeneratorTests extends InvoicingTestBase {
// add account-level credit
final DateTime creditDate = startDate.plusDays(5);
final Invoice invoiceWithCredit = new DefaultInvoice(accountId, creditDate, creditDate, Currency.USD);
- final InvoiceItem accountCredit = new CreditInvoiceItem(invoiceWithCredit.getId(), accountId, creditDate, FIVE, Currency.USD);
+ final InvoiceItem accountCredit = new CreditBalanceAdjInvoiceItem(invoiceWithCredit.getId(), accountId, creditDate, FIVE, Currency.USD);
invoiceWithCredit.addInvoiceItem(accountCredit);
invoices.add(invoiceWithCredit);