diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessAccount.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessAccount.java
index b3cc61c..116597e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessAccount.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessAccount.java
@@ -24,6 +24,8 @@ import org.joda.time.LocalDate;
import com.ning.billing.analytics.utils.Rounder;
+import com.google.common.base.Objects;
+
public class BusinessAccount {
// Populated by the database
private DateTime createdDt = null;
@@ -72,7 +74,7 @@ public class BusinessAccount {
}
public BigDecimal getBalance() {
- return balance;
+ return Objects.firstNonNull(balance, BigDecimal.ZERO);
}
public Double getRoundedBalance() {
@@ -140,7 +142,7 @@ public class BusinessAccount {
}
public BigDecimal getTotalInvoiceBalance() {
- return totalInvoiceBalance;
+ return Objects.firstNonNull(totalInvoiceBalance, BigDecimal.ZERO);
}
public Double getRoundedTotalInvoiceBalance() {
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
index bdd1a7a..251072d 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
@@ -50,4 +50,16 @@ public class TestBusinessAccount extends AnalyticsTestSuite {
BigDecimal.TEN, "ERROR_NOT_ENOUGH_FUNDS", "CreditCard", "Visa", "");
Assert.assertFalse(account.equals(otherAccount));
}
+
+ @Test(groups = "fast")
+ public void testDefaultBigDecimalValues() throws Exception {
+ final BusinessAccount bac = new BusinessAccount(UUID.randomUUID());
+ Assert.assertEquals(bac.getBalance(), BigDecimal.ZERO);
+ Assert.assertEquals(bac.getTotalInvoiceBalance(), BigDecimal.ZERO);
+
+ bac.setBalance(BigDecimal.ONE);
+ bac.setTotalInvoiceBalance(BigDecimal.TEN);
+ Assert.assertEquals(bac.getBalance(), BigDecimal.ONE);
+ Assert.assertEquals(bac.getTotalInvoiceBalance(), BigDecimal.TEN);
+ }
}