killbill-memoizeit

account: Make sure account non null fields have a default value

9/16/2015 7:34:00 PM

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
index 91763c0..cc06065 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
@@ -28,10 +28,13 @@ import org.joda.time.DateTimeZone;
 import org.killbill.billing.account.api.Account;
 import org.killbill.billing.account.api.AccountData;
 import org.killbill.billing.catalog.api.Currency;
+import org.killbill.billing.util.UUIDs;
 import org.killbill.billing.util.audit.AccountAuditLogs;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
 import com.google.common.base.Strings;
 import com.wordnik.swagger.annotations.ApiModelProperty;
 
@@ -116,9 +119,9 @@ public class AccountJson extends JsonBase {
         this.accountBalance = accountBalance;
         this.externalKey = externalKey;
         this.accountId = accountId;
-        this.name = name;
-        this.firstNameLength = firstNameLength;
-        this.email = email;
+        this.name = MoreObjects.firstNonNull(name, UUIDs.randomUUID().toString());
+        this.firstNameLength = MoreObjects.firstNonNull(firstNameLength, this.name.length());
+        this.email = MoreObjects.firstNonNull(email, "");
         this.billCycleDayLocal = billCycleDayLocal;
         this.currency = currency;
         this.paymentMethodId = paymentMethodId;
@@ -133,7 +136,7 @@ public class AccountJson extends JsonBase {
         this.locale = locale;
         this.phone = phone;
         this.isMigrated = isMigrated;
-        this.isNotifiedForInvoices = isNotifiedForInvoices;
+        this.isNotifiedForInvoices = isNotifiedForInvoices != null ? isNotifiedForInvoices : false;
         this.accountCBA = accountCBA;
     }