killbill-aplcache

name change: send_invoice_emails -> isNotifiedForInvoice added

4/18/2012 3:18:49 PM

Changes

account/src/main/resources/com/ning/billing/account/dao/AccountHistorySqlDao.sql.stg 15(+0 -15)

Details

diff --git a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
index efeb07d..923591c 100644
--- a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
+++ b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
@@ -47,6 +47,8 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
 	private final String country;
 	private final String postalCode;
 	private final String phone;
+    private final boolean isMigrated;
+    private final boolean isNotifiedForInvoices;
     private final String updatedBy;
     private final DateTime updatedDate;
     
@@ -80,7 +82,8 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
 				data.getTimeZone(), data.getLocale(),
 				data.getAddress1(), data.getAddress2(), data.getCompanyName(),
 				data.getCity(), data.getStateOrProvince(), data.getCountry(),
-				data.getPostalCode(), data.getPhone(), createdBy, createdDate,
+				data.getPostalCode(), data.getPhone(), data.isMigrated(), data.isNotifiedForInvoices(),
+                createdBy, createdDate,
                 updatedBy, updatedDate);
 	}
 
@@ -104,6 +107,8 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
 	 * @param country
 	 * @param postalCode
 	 * @param phone
+     * @param isMigrated
+     * @param isNotifiedForInvoices
 	 * @param createdDate
 	 * @param updatedDate
 	 */
@@ -114,6 +119,7 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
                           final String address1, final String address2, final String companyName,
                           final String city, final String stateOrProvince, final String country,
                           final String postalCode, final String phone,
+                          final boolean isMigrated, final boolean isNotifiedForInvoices,
                           final String createdBy, final DateTime createdDate,
                           final String updatedBy, final DateTime updatedDate) {
 
@@ -135,6 +141,8 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
 		this.postalCode = postalCode;
 		this.country = country;
 		this.phone = phone;
+        this.isMigrated = isMigrated;
+        this.isNotifiedForInvoices = isNotifiedForInvoices;
         this.updatedBy = updatedBy;
         this.updatedDate = updatedDate;
 	}
@@ -240,6 +248,16 @@ public class DefaultAccount extends ExtendedEntityBase implements Account {
 	}
 
     @Override
+    public boolean isMigrated() {
+        return this.isMigrated;
+    }
+
+    @Override
+    public boolean isNotifiedForInvoices() {
+        return isNotifiedForInvoices;
+    }
+
+    @Override
     public String getUpdatedBy() {
         return updatedBy;
     }
diff --git a/account/src/main/java/com/ning/billing/account/api/DefaultMutableAccountData.java b/account/src/main/java/com/ning/billing/account/api/DefaultMutableAccountData.java
index 4476130..0f72d41 100644
--- a/account/src/main/java/com/ning/billing/account/api/DefaultMutableAccountData.java
+++ b/account/src/main/java/com/ning/billing/account/api/DefaultMutableAccountData.java
@@ -16,13 +16,12 @@
 
 package com.ning.billing.account.api;
 
-import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 
 import com.ning.billing.catalog.api.Currency;
 import com.ning.billing.util.tag.TagStore;
 
-public class DefaultMutableAccountData implements AccountData, MutableAccountData {
+public class DefaultMutableAccountData implements MutableAccountData {
     private String externalKey;
     private String email;
     private String name;
@@ -40,6 +39,8 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
     private String country;
     private String postalCode;
     private String phone;
+    private boolean isMigrated;
+    private boolean isNotifiedForInvoices;
     
     public DefaultMutableAccountData(String externalKey, String email, String name,
             int firstNameLength, Currency currency, int billCycleDay,
@@ -47,7 +48,7 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
             String locale, String address1, String address2,
             String companyName, String city, String stateOrProvince,
             String country, String postalCode, String phone,
-            DateTime createdDate, DateTime updatedDate) {
+            boolean isMigrated, boolean isNotifiedForInvoices) {
         super();
         this.externalKey = externalKey;
         this.email = email;
@@ -66,6 +67,8 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
         this.country = country;
         this.postalCode = postalCode;
         this.phone = phone;
+        this.isMigrated = isMigrated;
+        this.isNotifiedForInvoices = isNotifiedForInvoices;
     }
     
     public DefaultMutableAccountData(AccountData accountData) {
@@ -87,6 +90,8 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
         this.country = accountData.getCountry();
         this.postalCode = accountData.getPostalCode();
         this.phone = accountData.getPhone();
+        this.isMigrated = accountData.isMigrated();
+        this.isNotifiedForInvoices = accountData.isNotifiedForInvoices();
     }
 
     /* (non-Javadoc)
@@ -208,7 +213,20 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
     public String getPhone() {
         return phone;
     }
-    
+    /* (non-Javadoc)
+     * @see com.ning.billing.account.api.MutableAccountData#isMigrated()
+     */
+    @Override
+    public boolean isMigrated() {
+        return isMigrated;
+    }
+    /* (non-Javadoc)
+     * @see com.ning.billing.account.api.MutableAccountData#getSendInvoiceEmails()
+     */
+    @Override
+    public boolean isNotifiedForInvoices() {
+        return isNotifiedForInvoices;
+    }
     /* (non-Javadoc)
      * @see com.ning.billing.account.api.MutableAccountData#setExternalKey(java.lang.String)
      */
@@ -329,5 +347,15 @@ public class DefaultMutableAccountData implements AccountData, MutableAccountDat
         this.phone = phone;
     }
 
+    @Override
+    public void setIsMigrated(boolean isMigrated) {
+        this.isMigrated = isMigrated;
+    }
+
+    @Override
+    public void setIsNotifiedForInvoices(boolean isNotifiedForInvoices) {
+        this.isNotifiedForInvoices = isNotifiedForInvoices;
+    }
+
 
 }
diff --git a/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java b/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
index ed18ffb..a6d3840 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
@@ -43,6 +43,8 @@ public class AccountBuilder {
     private String country;
     private String postalCode;
     private String phone;
+    private boolean migrated;
+    private boolean isNotifiedForInvoices;
     private String createdBy;
     private DateTime createdDate;
     private String updatedBy;
@@ -141,6 +143,16 @@ public class AccountBuilder {
         return this;
     }
 
+    public AccountBuilder migrated(final boolean migrated) {
+        this.migrated = migrated;
+        return this;
+    }
+
+    public AccountBuilder isNotifiedForInvoices(final boolean isNotifiedForInvoices) {
+        this.isNotifiedForInvoices = isNotifiedForInvoices;
+        return this;
+    }
+
     public AccountBuilder createdBy(final String createdBy) {
         this.createdBy = createdBy;
         return this;
@@ -166,6 +178,7 @@ public class AccountBuilder {
                                   currency, billingCycleDay, paymentProviderName,
                                   timeZone, locale,
                                   address1, address2, companyName, city, stateOrProvince, country,
-                                  postalCode, phone, createdBy, createdDate, updatedBy, updatedDate);
+                                  postalCode, phone, migrated, isNotifiedForInvoices,
+                                  createdBy, createdDate, updatedBy, updatedDate);
     }
 }
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountBinder.java b/account/src/main/java/com/ning/billing/account/dao/AccountBinder.java
index a4a00a8..57b61c2 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountBinder.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountBinder.java
@@ -60,6 +60,8 @@ public @interface AccountBinder {
                     q.bind("country", account.getCountry());
                     q.bind("postalCode", account.getPostalCode());
                     q.bind("phone", account.getPhone());
+                    q.bind("migrated", account.isMigrated());
+                    q.bind("isNotifiedForInvoices", account.isNotifiedForInvoices());
                 }
             };
         }
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountMapper.java b/account/src/main/java/com/ning/billing/account/dao/AccountMapper.java
index 5eca437..af8be67 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountMapper.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountMapper.java
@@ -58,6 +58,9 @@ public class AccountMapper extends MapperBase implements ResultSetMapper<Account
         String country = result.getString("country");
         String phone = result.getString("phone");
 
+        Boolean migrated = result.getBoolean("migrated");
+        Boolean isNotifiedForInvoices = result.getBoolean("is_notified_for_invoices");
+
         String createdBy = result.getString("created_by");
         DateTime createdDate = getDate(result, "created_date");
         String updatedBy = result.getString("updated_by");
@@ -73,6 +76,7 @@ public class AccountMapper extends MapperBase implements ResultSetMapper<Account
                                      .companyName(companyName)
                                      .city(city).stateOrProvince(stateOrProvince)
                                      .postalCode(postalCode).country(country)
+                                     .migrated(migrated).isNotifiedForInvoices(isNotifiedForInvoices)
                                      .createdBy(createdBy).createdDate(createdDate)
                                      .updatedBy(updatedBy).updatedDate(updatedDate)
                                      .build();
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
index 552ae6d..298ed72 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
@@ -18,8 +18,10 @@ package com.ning.billing.account.dao;
 
 import java.util.UUID;
 
+import com.ning.billing.util.ChangeType;
 import com.ning.billing.util.callcontext.CallContext;
 import com.ning.billing.util.callcontext.CallContextBinder;
+import com.ning.billing.util.dao.ChangeTypeBinder;
 import com.ning.billing.util.entity.UpdatableEntityDao;
 import org.skife.jdbi.v2.sqlobject.Bind;
 import org.skife.jdbi.v2.sqlobject.SqlQuery;
@@ -48,4 +50,10 @@ public interface AccountSqlDao extends UpdatableEntityDao<Account>, Transactiona
     @Override
     @SqlUpdate
     public void update(@AccountBinder Account account, @CallContextBinder final CallContext context);
+
+    @SqlUpdate
+    public void insertAccountHistoryFromTransaction(@AccountBinder final Account account,
+                                                    @Bind("historyRecordId") final String historyRecordId,
+                                                    @ChangeTypeBinder ChangeType changeType,
+                                                    @CallContextBinder CallContext context);
 }
diff --git a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
index 1968bc1..ad6146b 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
@@ -131,9 +131,7 @@ public class AuditedAccountDao extends AuditedDaoBase implements AccountDao {
                     transactionalDao.create(account, context);
                     UUID historyId = UUID.randomUUID();
 
-                    AccountHistorySqlDao historyDao = accountSqlDao.become(AccountHistorySqlDao.class);
-                    historyDao.insertAccountHistoryFromTransaction(account, historyId.toString(),
-                            ChangeType.INSERT.toString(), context);
+                    accountSqlDao.insertAccountHistoryFromTransaction(account, historyId.toString(), ChangeType.INSERT, context);
 
                     AuditSqlDao auditDao = accountSqlDao.become(AuditSqlDao.class);
                     auditDao.insertAuditFromTransaction("account_history", historyId.toString(),
@@ -177,12 +175,10 @@ public class AuditedAccountDao extends AuditedDaoBase implements AccountDao {
                     accountSqlDao.update(account, context);
 
                     UUID historyId = UUID.randomUUID();
-                    AccountHistorySqlDao historyDao = accountSqlDao.become(AccountHistorySqlDao.class);
-                    historyDao.insertAccountHistoryFromTransaction(account, historyId.toString(), ChangeType.UPDATE.toString(), context);
+                    accountSqlDao.insertAccountHistoryFromTransaction(account, historyId.toString(), ChangeType.UPDATE, context);
 
                     AuditSqlDao auditDao = accountSqlDao.become(AuditSqlDao.class);
-                    auditDao.insertAuditFromTransaction("account_history" ,historyId.toString(),
-                                                        ChangeType.INSERT, context);
+                    auditDao.insertAuditFromTransaction("account_history" ,historyId.toString(), ChangeType.INSERT, context);
 
                     saveTagsFromWithinTransaction(account, accountSqlDao, context);
                     saveCustomFieldsFromWithinTransaction(account, accountSqlDao, context);
diff --git a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
index eda3949..6bd5e79 100644
--- a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
+++ b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
@@ -19,6 +19,8 @@ accountFields(prefix) ::= <<
     <prefix>country, 
     <prefix>postal_code,
     <prefix>phone,
+    <prefix>migrated,
+    <prefix>is_notified_for_invoices,
     <prefix>created_by,
     <prefix>created_date,
     <prefix>updated_by,
@@ -32,7 +34,7 @@ create() ::= <<
       (:id, :externalKey, :email, :name, :firstNameLength, :currency, :billingCycleDay,
       :paymentProviderName, :timeZone, :locale,
       :address1, :address2, :companyName, :city, :stateOrProvince, :country, :postalCode, :phone,
-      :userName, :createdDate, :userName, :updatedDate);
+      :migrated, :isNotifiedForInvoices, :userName, :createdDate, :userName, :updatedDate);
 >>
 
 update() ::= <<
@@ -42,10 +44,23 @@ update() ::= <<
         time_zone = :timeZone, locale = :locale,
         address1 = :address1, address2 = :address2, company_name = :companyName, city = :city, state_or_province = :stateOrProvince,
         country = :country, postal_code = :postalCode, phone = :phone,
-        updated_date = :updatedDate, updated_by = :userName
+        is_notified_for_invoices = :isNotifiedForInvoices, updated_date = :updatedDate, updated_by = :userName
     WHERE id = :id;
 >>
 
+insertAccountHistoryFromTransaction() ::= <<
+    INSERT INTO account_history
+    (history_record_id, id, external_key, email, name, first_name_length, currency,
+    billing_cycle_day, payment_provider_name, time_zone, locale,
+    address1, address2, company_name, city, state_or_province,
+    country, postal_code, phone, migrated, is_notified_for_invoices, change_type, updated_by, date)
+    VALUES
+    (:historyRecordId, :id, :externalKey, :email, :name, :firstNameLength, :currency,
+     :billingCycleDay, :paymentProviderName, :timeZone, :locale,
+     :address1, :address2, :companyName, :city, :stateOrProvince,
+     :country, :postalCode, :phone, :migrated, :isNotifiedForInvoices, :changeType, :userName, :createdDate);
+>>
+
 getAccountByKey() ::= <<
     select <accountFields()>
     from accounts
diff --git a/account/src/main/resources/com/ning/billing/account/ddl.sql b/account/src/main/resources/com/ning/billing/account/ddl.sql
index 50f3e3f..266215d 100644
--- a/account/src/main/resources/com/ning/billing/account/ddl.sql
+++ b/account/src/main/resources/com/ning/billing/account/ddl.sql
@@ -19,6 +19,7 @@ CREATE TABLE accounts (
     postal_code varchar(11) DEFAULT NULL,
     phone varchar(25) DEFAULT NULL,
     migrated bool DEFAULT false,
+    is_notified_for_invoices boolean NOT NULL,
     created_date datetime NOT NULL,
     created_by varchar(50) NOT NULL,
     updated_date datetime DEFAULT NULL,
@@ -49,6 +50,8 @@ CREATE TABLE account_history (
     country varchar(50) DEFAULT NULL,
     postal_code varchar(11) DEFAULT NULL,
     phone varchar(25) DEFAULT NULL,
+    migrated bool DEFAULT false,
+    is_notified_for_invoices boolean NOT NULL,
     change_type char(6) NOT NULL,
     updated_by varchar(50) NOT NULL,
     date datetime NOT NULL
diff --git a/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java b/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
index 27f72f3..8e51da0 100644
--- a/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
+++ b/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
@@ -53,7 +53,8 @@ public class MockAccountUserApi implements AccountUserApi {
 		Account result = new DefaultAccount(id, externalKey, email, name,
 				firstNameLength, currency, billCycleDay, paymentProviderName,
 				timeZone, locale, address1, address2, companyName, city,
-				stateOrProvince, country, postalCode, phone, null, null, null, null);
+				stateOrProvince, country, postalCode, phone, false, false,
+                null, null, null, null);
 		accounts.add(result);
 		return result;
 	}
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
index ddcd0e0..9fd4e22 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestAccountDao.java
@@ -63,7 +63,7 @@ public class TestAccountDao extends AccountDaoTestBase {
         return new DefaultAccount(UUID.randomUUID(), thisKey, thisEmail, name, firstNameLength, Currency.USD,
                 billCycleDay, null, timeZone, locale,
                 null, null, null, null, null, null, null, // add null address fields
-                phone, "test", DateTime.now(), "test", DateTime.now());
+                phone, false, false, "test", DateTime.now(), "test", DateTime.now());
     }
 
     @Test
@@ -205,6 +205,16 @@ public class TestAccountDao extends AccountDaoTestBase {
             }
 
             @Override
+            public boolean isMigrated() {
+                return false;
+            }
+
+            @Override
+            public boolean isNotifiedForInvoices() {
+                return false;
+            }
+
+            @Override
             public int getBillCycleDay() {
                 return account.getBillCycleDay();
             }
@@ -291,7 +301,8 @@ public class TestAccountDao extends AccountDaoTestBase {
         DefaultAccount account = new DefaultAccount(accountId, "extKey123456", "myemail123456@glam.com",
                                                     "John Smith", 4, Currency.USD, 15, null,
                                                     DateTimeZone.forID("America/Cambridge_Bay"), "EN-CA",
-                                                    null, null, null, null, null, null, null, null, null, null, null, null);
+                                                    null, null, null, null, null, null, null, null, false, false,
+                                                    null, null, null, null);
         accountDao.create(account, context);
 
         String address1 = "123 address 1";
@@ -307,7 +318,7 @@ public class TestAccountDao extends AccountDaoTestBase {
                                                     "John Smith", 4, Currency.USD, 15, null,
                                                     DateTimeZone.forID("America/Cambridge_Bay"), "EN-CA",
                                                     address1, address2, companyName, city, stateOrProvince, country,
-                                                    postalCode, phone, null, null, null, null);
+                                                    postalCode, phone, false, false, null, null, null, null);
 
         accountDao.update(updatedAccount, context);
 
@@ -334,14 +345,14 @@ public class TestAccountDao extends AccountDaoTestBase {
                                                     DateTimeZone.forID("America/Cambridge_Bay"), "EN-CA",
                                                     "123 address 1", "456 address 2", null, "Cambridge Bay",
                                                     "Nunavut", "Canada", "X0B 0C0", "18001112222",
-                                                    null, null, null, null);
+                                                    false, false, null, null, null, null);
         accountDao.create(account, context);
 
         DefaultAccount updatedAccount = new DefaultAccount(accountId, "extKey654321", "myemail654321@glam.com",
                                                     "John Smith", 4, Currency.USD, 15, null,
                                                     DateTimeZone.forID("America/Cambridge_Bay"), "EN-CA",
                                                     null, null, null, null, null, null, null, null,
-                                                    null, null, null, null);
+                                                    false, false, null, null, null, null);
 
         accountDao.update(updatedAccount, context);
 
@@ -367,13 +378,13 @@ public class TestAccountDao extends AccountDaoTestBase {
         DefaultAccount account = new DefaultAccount(accountId, originalExternalKey, "myemail1337@glam.com",
                                                     "John Smith", 4, Currency.USD, 15, null,
                                                     null, null, null, null, null, null, null, null, null, null,
-                                                    null, null, null, null);
+                                                    false, false, null, null, null, null);
         accountDao.create(account, context);
 
         DefaultAccount updatedAccount = new DefaultAccount(accountId, "extKey1338", "myemail1337@glam.com",
                                                     "John Smith", 4, Currency.USD, 15, null,
                                                     null, null, null, null, null, null, null, null, null, null,
-                                                    null, null, null, null);
+                                                    false, false, null, null, null, null);
         accountDao.update(updatedAccount, context);
     }
 
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
index 5e94f15..bd95758 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
@@ -61,6 +61,16 @@ public class MockAccount implements Account
     }
 
     @Override
+    public boolean isMigrated() {
+        return false;
+    }
+
+    @Override
+    public boolean isNotifiedForInvoices() {
+        return false;
+    }
+
+    @Override
     public String getExternalKey()
     {
         return accountKey;
diff --git a/api/src/main/java/com/ning/billing/account/api/AccountData.java b/api/src/main/java/com/ning/billing/account/api/AccountData.java
index 654400b..3220971 100644
--- a/api/src/main/java/com/ning/billing/account/api/AccountData.java
+++ b/api/src/main/java/com/ning/billing/account/api/AccountData.java
@@ -55,4 +55,8 @@ public interface AccountData {
     public String getCountry();
 
     public String getPhone();
+
+    public boolean isMigrated();
+
+    public boolean isNotifiedForInvoices();
 }
diff --git a/api/src/main/java/com/ning/billing/account/api/MutableAccountData.java b/api/src/main/java/com/ning/billing/account/api/MutableAccountData.java
index 78dad92..6ea638d 100644
--- a/api/src/main/java/com/ning/billing/account/api/MutableAccountData.java
+++ b/api/src/main/java/com/ning/billing/account/api/MutableAccountData.java
@@ -21,41 +21,6 @@ import org.joda.time.DateTimeZone;
 import com.ning.billing.catalog.api.Currency;
 
 public interface MutableAccountData extends AccountData {
-
-    public String getExternalKey();
-
-    public String getEmail();
-
-    public String getName();
-
-    public int getFirstNameLength();
-
-    public Currency getCurrency();
-
-    public int getBillCycleDay();
-
-    public String getPaymentProviderName();
-
-    public DateTimeZone getTimeZone();
-
-    public String getLocale();
-
-    public String getAddress1();
-
-    public String getAddress2();
-
-    public String getCompanyName();
-
-    public String getCity();
-
-    public String getStateOrProvince();
-
-    public String getCountry();
-
-    public String getPostalCode();
-
-    public String getPhone();
-
     public void setExternalKey(String externalKey);
 
     public void setEmail(String email);
@@ -90,4 +55,8 @@ public interface MutableAccountData extends AccountData {
 
     public void setPhone(String phone);
 
+    public void setIsMigrated(boolean isMigrated);
+
+    public void setIsNotifiedForInvoices(boolean isNotifiedForInvoices);
+
 }
\ No newline at end of file
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
index f081c29..159a3dc 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
@@ -631,7 +631,7 @@ public class TestIntegration {
         assertTrue(busHandler.isCompleted(DELAY));
         invoices = invoiceUserApi.getInvoicesByAccount(accountId);
         assertNotNull(invoices);
-        assertEquals(invoices.size(),2);
+        assertEquals(invoices.size(), 2);
 
         busHandler.pushExpectedEvent(NextEvent.PHASE);
         busHandler.pushExpectedEvent(NextEvent.INVOICE);
@@ -640,7 +640,7 @@ public class TestIntegration {
         assertTrue(busHandler.isCompleted(DELAY));
         invoices = invoiceUserApi.getInvoicesByAccount(accountId);
         assertNotNull(invoices);
-        assertEquals(invoices.size(),3);
+        assertEquals(invoices.size(), 3);
     }
 
     protected AccountData getAccountData(final int billingDay) {
@@ -663,6 +663,17 @@ public class TestIntegration {
             public String getPhone() {
                 return "4152876341";
             }
+
+            @Override
+            public boolean isMigrated() {
+                return false;
+            }
+
+            @Override
+            public boolean isNotifiedForInvoices() {
+                return false;
+            }
+
             @Override
             public String getExternalKey() {
                 return someRandomKey;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index 53b5199..d5cfbad 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -361,6 +361,16 @@ public abstract class TestApiBase {
             }
 
             @Override
+            public boolean isMigrated() {
+                return false;
+            }
+
+            @Override
+            public boolean isNotifiedForInvoices() {
+                return false;
+            }
+
+            @Override
             public String getExternalKey() {
                 return "k123456";
             }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountJson.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountJson.java
index 13ad140..4c25130 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountJson.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountJson.java
@@ -81,6 +81,17 @@ public class AccountJson {
             public String getPhone() {
                 return phone;
             }
+
+            @Override
+            public boolean isMigrated() {
+                return false;
+            }
+
+            @Override
+            public boolean isNotifiedForInvoices() {
+                return false;
+            }
+
             @Override
             public String getPaymentProviderName() {
                 return paymentProvider;