killbill-uncached

remove deletes fromt eh system (excepting tags and custom fields);

4/5/2012 5:22:38 PM

Changes

Details

diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
index 7717aae..f1c58fb 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
@@ -114,11 +114,6 @@ public class DefaultAccountUserApi implements com.ning.billing.account.api.Accou
      }
 
 	@Override
-	public void deleteAccountByKey(final String externalKey, final CallContext context) throws AccountApiException {
-		dao.deleteByKey(externalKey, context);
-	}
-
-	@Override
 	public Account migrateAccount(final MigrationAccountData data, final List<CustomField> fields,
                                   final List<Tag> tags, final CallContext context)
             throws AccountApiException {
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountDao.java b/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
index d25a3ea..4be1058 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
@@ -32,6 +32,4 @@ public interface AccountDao extends UpdatableEntityDao<Account> {
      * @throws AccountApiException when externalKey is null
      */
     public UUID getIdFromKey(String externalKey) throws AccountApiException;
-
-	public void deleteByKey(String externalKey, CallContext context) throws AccountApiException;
 }
\ No newline at end of file
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 2c400d5..fdc35d3 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
@@ -58,9 +58,6 @@ public interface AccountSqlDao extends UpdatableEntityDao<Account>, Transactiona
     @SqlUpdate
     public void update(@AccountBinder Account account, @CallContextBinder final CallContext context);
 
-    @SqlUpdate
-    public void deleteByKey(@Bind("externalKey") final String key);
-
     public static class AccountMapper extends MapperBase implements ResultSetMapper<Account> {
         @Override
         public Account map(int index, ResultSet result, StatementContext context) throws SQLException {
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 ebb0a63..97e4aab 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
@@ -197,36 +197,6 @@ public class AuditedAccountDao implements AccountDao {
     }
 
     @Override
-	public void deleteByKey(final String externalKey, final CallContext context) throws AccountApiException {
-    	try {
-            accountSqlDao.inTransaction(new Transaction<Void, AccountSqlDao>() {
-                @Override
-                public Void inTransaction(final AccountSqlDao accountSqlDao, final TransactionStatus status) throws AccountApiException, Bus.EventBusException {
-                    Account account = accountSqlDao.getAccountByKey(externalKey);
-                    accountSqlDao.deleteByKey(externalKey);
-
-                    // TODO: ensure tags and fields aren't orphaned
-                    UUID historyId = UUID.randomUUID();
-                    AccountHistorySqlDao historyDao = accountSqlDao.become(AccountHistorySqlDao.class);
-                    historyDao.insertAccountHistoryFromTransaction(account, historyId.toString(), ChangeType.UPDATE.toString(), context);
-
-                    AuditSqlDao auditDao = accountSqlDao.become(AuditSqlDao.class);
-                    auditDao.insertAuditFromTransaction("account_history", historyId.toString(),
-                            ChangeType.INSERT.toString(), context);
-
-                    return null;
-                }
-            });
-        } catch (RuntimeException re) {
-            if (re.getCause() instanceof AccountApiException) {
-                throw (AccountApiException) re.getCause();
-            } else {
-                throw re;
-            }
-        }
-	}
-
-    @Override
     public void test() {
         accountSqlDao.test();
     }
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 2838ef8..eda3949 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
@@ -46,12 +46,6 @@ update() ::= <<
     WHERE id = :id;
 >>
 
-deleteByKey() ::= <<
-    DELETE FROM accounts
-    WHERE external_key = :externalKey;
->>
-
-
 getAccountByKey() ::= <<
     select <accountFields()>
     from accounts
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 265b933..d2fea9e 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
@@ -107,17 +107,6 @@ public class MockAccountUserApi implements AccountUserApi {
     }
 
 	@Override
-	public void deleteAccountByKey(final String externalKey, final CallContext context)
-			throws AccountApiException {
-		for (Account account : accounts) {
-            if (externalKey.equals(account.getExternalKey())) {
-                accounts.remove(account);
-            }
-        }	
-		
-	}
-
-	@Override
 	public Account migrateAccount(final MigrationAccountData data,
 			final List<CustomField> fields, final List<Tag> tags, final CallContext context)
 			throws AccountApiException {
diff --git a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
index 7cfc3f1..645124b 100644
--- a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
@@ -97,13 +97,4 @@ public class MockAccountDao implements AccountDao {
             }
         }
     }
-
-	@Override
-	public void deleteByKey(String externalKey, CallContext context) throws AccountApiException {
-		for (Account account : accounts.values()) {
-            if (externalKey.equals(account.getExternalKey())) {
-                accounts.remove(account.getId().toString());
-            }
-        }		
-	}
 }
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
index 10d904f..633b6b5 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
@@ -18,7 +18,6 @@ package com.ning.billing.account.dao;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
@@ -373,22 +372,4 @@ public class TestSimpleAccountDao extends AccountDaoTestBase {
                                                     null, null, null, null);
         accountDao.update(updatedAccount, context);
     }
-
-    @Test
-    public void testDelete() throws AccountApiException, EntityPersistenceException {
-
-        Account a = createTestAccountBuilder().build();
-        accountDao.create(a, context);
-        String key = a.getExternalKey();
-
-        Account r = accountDao.getAccountByKey(key);
-        assertNotNull(r);
-        assertEquals(r.getExternalKey(), a.getExternalKey());
-        
-        accountDao.deleteByKey(key, context);
-        
-        Account s = accountDao.getAccountByKey(key);
-        assertNull(s);
-    }
-
 }
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java b/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
index 85ec378..315ce7f 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
@@ -77,11 +77,6 @@ public class MockIAccountUserApi implements AccountUserApi
     }
 
 	@Override
-	public void deleteAccountByKey(String externalKey, final CallContext context) {
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
 	public Account migrateAccount(MigrationAccountData data,
 			List<CustomField> fields, List<Tag> tags, final CallContext context)
 			throws AccountApiException {
diff --git a/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java b/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
index 2ab04dc..98d6272 100644
--- a/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
+++ b/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
@@ -51,6 +51,4 @@ public interface AccountUserApi {
     public List<Account> getAccounts();
 
     public UUID getIdFromKey(String externalKey) throws AccountApiException;
-
-	public void deleteAccountByKey(String externalKey, CallContext context) throws AccountApiException;
 }
diff --git a/api/src/main/java/com/ning/billing/entitlement/api/migration/EntitlementMigrationApi.java b/api/src/main/java/com/ning/billing/entitlement/api/migration/EntitlementMigrationApi.java
index 826860b..1b1e6ff 100644
--- a/api/src/main/java/com/ning/billing/entitlement/api/migration/EntitlementMigrationApi.java
+++ b/api/src/main/java/com/ning/billing/entitlement/api/migration/EntitlementMigrationApi.java
@@ -44,10 +44,10 @@ public interface EntitlementMigrationApi {
 
     /**
      *
-     * Each case is either a PHASE or a different PlanSpecifer
+     * Each case is either a PHASE or a different PlanSpecifier
      */
     public interface EntitlementSubscriptionMigrationCase {
-        public PlanPhaseSpecifier getPlanPhaseSpecifer();
+        public PlanPhaseSpecifier getPlanPhaseSpecifier();
         public DateTime getEffectiveDate();
         public DateTime getCancelledDate();
     }
@@ -58,17 +58,9 @@ public interface EntitlementMigrationApi {
      * The semantics is 'all or nothing' (atomic operation)
      *
      * @param toBeMigrated all the bundles and associated subscription that should be migrated for the account
+     * @throws EntitlementMigrationApiException an entitlement api exception
      *
      */
     public void migrate(EntitlementAccountMigration toBeMigrated)
         throws EntitlementMigrationApiException;
-
-    /**
-     * Remove all the data pertaining to that acount
-     *
-     * @param accountKey
-     */
-    public void undoMigration(UUID accountKey)
-        throws EntitlementMigrationApiException;
-
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
index b354348..2965b8f 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
@@ -48,11 +48,11 @@ public class MigrationPlanAligner {
 
         try {
             TimedMigration [] events = null;
-            Plan plan0 = catalogService.getFullCatalog().findPlan(input[0].getPlanPhaseSpecifer().getProductName(),
-                    input[0].getPlanPhaseSpecifer().getBillingPeriod(), input[0].getPlanPhaseSpecifer().getPriceListName(), now);
+            Plan plan0 = catalogService.getFullCatalog().findPlan(input[0].getPlanPhaseSpecifier().getProductName(),
+                    input[0].getPlanPhaseSpecifier().getBillingPeriod(), input[0].getPlanPhaseSpecifier().getPriceListName(), now);
 
-            Plan plan1 = (input.length > 1) ? catalogService.getFullCatalog().findPlan(input[1].getPlanPhaseSpecifer().getProductName(),
-                    input[1].getPlanPhaseSpecifer().getBillingPeriod(), input[1].getPlanPhaseSpecifer().getPriceListName(), now) :
+            Plan plan1 = (input.length > 1) ? catalogService.getFullCatalog().findPlan(input[1].getPlanPhaseSpecifier().getProductName(),
+                    input[1].getPlanPhaseSpecifier().getBillingPeriod(), input[1].getPlanPhaseSpecifier().getPriceListName(), now) :
                         null;
 
             DateTime migrationStartDate = now;
@@ -60,21 +60,21 @@ public class MigrationPlanAligner {
             if (isRegularMigratedSubscription(input)) {
 
                 events = getEventsOnRegularMigration(plan0,
-                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifer().getPhaseType()),
-                        input[0].getPlanPhaseSpecifer().getPriceListName(),
+                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
+                        input[0].getPlanPhaseSpecifier().getPriceListName(),
                         now);
 
             } else if (isRegularFutureCancelledMigratedSubscription(input)) {
 
                 events = getEventsOnFuturePlanCancelMigration(plan0,
-                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifer().getPhaseType()),
-                        input[0].getPlanPhaseSpecifer().getPriceListName(),
+                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
+                        input[0].getPlanPhaseSpecifier().getPriceListName(),
                         now,
                         input[0].getCancelledDate());
 
             } else if (isPhaseChangeMigratedSubscription(input)) {
 
-                PhaseType curPhaseType = input[0].getPlanPhaseSpecifer().getPhaseType();
+                PhaseType curPhaseType = input[0].getPlanPhaseSpecifier().getPhaseType();
                 Duration curPhaseDuration = null;
                 for (PlanPhase cur : plan0.getAllPhases()) {
                     if (cur.getPhaseType() == curPhaseType) {
@@ -89,18 +89,18 @@ public class MigrationPlanAligner {
 
                 migrationStartDate = DefaultClock.removeDuration(input[1].getEffectiveDate(), curPhaseDuration);
                 events = getEventsOnFuturePhaseChangeMigration(plan0,
-                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifer().getPhaseType()),
-                        input[0].getPlanPhaseSpecifer().getPriceListName(),
+                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
+                        input[0].getPlanPhaseSpecifier().getPriceListName(),
                         migrationStartDate,
                         input[1].getEffectiveDate());
 
             } else if (isPlanChangeMigratedSubscription(input)) {
 
                 events = getEventsOnFuturePlanChangeMigration(plan0,
-                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifer().getPhaseType()),
+                        getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
                         plan1,
-                        getPlanPhase(plan1, input[1].getPlanPhaseSpecifer().getPhaseType()),
-                        input[0].getPlanPhaseSpecifer().getPriceListName(),
+                        getPlanPhase(plan1, input[1].getPlanPhaseSpecifier().getPhaseType()),
+                        input[0].getPlanPhaseSpecifier().getPriceListName(),
                         now,
                         input[1].getEffectiveDate());
 
@@ -181,15 +181,15 @@ public class MigrationPlanAligner {
         if (input.length != 2) {
             return false;
         }
-        return (isSamePlan(input[0].getPlanPhaseSpecifer(), input[1].getPlanPhaseSpecifer()) &&
-                !isSamePhase(input[0].getPlanPhaseSpecifer(), input[1].getPlanPhaseSpecifer()));
+        return (isSamePlan(input[0].getPlanPhaseSpecifier(), input[1].getPlanPhaseSpecifier()) &&
+                !isSamePhase(input[0].getPlanPhaseSpecifier(), input[1].getPlanPhaseSpecifier()));
     }
 
     private boolean isPlanChangeMigratedSubscription(EntitlementSubscriptionMigrationCase [] input) {
         if (input.length != 2) {
             return false;
         }
-        return ! isSamePlan(input[0].getPlanPhaseSpecifer(), input[1].getPlanPhaseSpecifer());
+        return ! isSamePlan(input[0].getPlanPhaseSpecifier(), input[1].getPlanPhaseSpecifier());
     }
 
     private boolean isSamePlan(PlanPhaseSpecifier plan0, PlanPhaseSpecifier plan1) {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
index 812378b..4325f02 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/migration/DefaultEntitlementMigrationApi.java
@@ -77,11 +77,6 @@ public class DefaultEntitlementMigrationApi implements EntitlementMigrationApi {
         dao.migrate(toBeMigrated.getAccountKey(), accountMigrationData);
     }
 
-    @Override
-    public void undoMigration(UUID accountId) {
-        dao.undoMigration(accountId);
-    }
-
     private AccountMigrationData createAccountMigrationData(EntitlementAccountMigration toBeMigrated)
     throws EntitlementMigrationApiException  {
 
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
index 88123ca..3480544 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/BundleSqlDao.java
@@ -45,9 +45,6 @@ public interface BundleSqlDao extends Transactional<BundleSqlDao>, CloseMe, Tran
     @SqlUpdate
     public void insertBundle(@Bind(binder = SubscriptionBundleBinder.class) SubscriptionBundleData bundle);
 
-    @SqlUpdate
-    public void removeBundle(@Bind("id") String id);
-
     @SqlQuery
     @Mapper(ISubscriptionBundleSqlMapper.class)
     public SubscriptionBundle getBundleFromId(@Bind("id") String id);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
index 6ca1c15..9a4865d 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
@@ -75,8 +75,6 @@ public interface EntitlementDao {
 
     public void migrate(UUID accountId, AccountMigrationData data);
 
-    public void undoMigration(UUID accountId);
-
     // Custom Fields
     public void saveCustomFields(SubscriptionData subscription, CallContext context);
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
index cd688d3..6f17f8c 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
@@ -518,9 +518,6 @@ public class EntitlementSqlDao implements EntitlementDao {
                 SubscriptionSqlDao transSubDao = transEventDao.become(SubscriptionSqlDao.class);
                 BundleSqlDao transBundleDao = transEventDao.become(BundleSqlDao.class);
 
-                // First get rid of any data from account
-                undoMigrationFromTransaction(accountId, transEventDao, transBundleDao, transSubDao);
-
                 for (BundleMigrationData curBundle : accountData.getData()) {
                     SubscriptionBundleData bundleData = curBundle.getData();
                     for (SubscriptionMigrationData curSubscription : curBundle.getSubscriptions()) {
@@ -556,35 +553,6 @@ public class EntitlementSqlDao implements EntitlementDao {
         return null;
     }
 
-    @Override
-    public void undoMigration(final UUID accountId) {
-
-        eventsDao.inTransaction(new Transaction<Void, EventSqlDao>() {
-
-            @Override
-            public Void inTransaction(EventSqlDao transEventDao,
-                    TransactionStatus status) throws Exception {
-
-                SubscriptionSqlDao transSubDao = transEventDao.become(SubscriptionSqlDao.class);
-                BundleSqlDao transBundleDao = transEventDao.become(BundleSqlDao.class);
-                undoMigrationFromTransaction(accountId, transEventDao, transBundleDao, transSubDao);
-                return null;
-            }
-        });
-    }
-
-    private void undoMigrationFromTransaction(final UUID accountId, EventSqlDao transEventDao, BundleSqlDao transBundleDao, SubscriptionSqlDao transSubDao) {
-        final List<SubscriptionBundle> bundles = transBundleDao.getBundleFromAccount(accountId.toString());
-        for (SubscriptionBundle curBundle : bundles) {
-            List<Subscription> subscriptions = transSubDao.getSubscriptionsFromBundleId(curBundle.getId().toString());
-            for (Subscription cur : subscriptions) {
-                eventsDao.removeEvents(cur.getId().toString());
-                transSubDao.removeSubscription(cur.getId().toString());
-            }
-            transBundleDao.removeBundle(curBundle.getId().toString());
-        }
-    }
-
     private void recordFutureNotificationFromTransaction(final Transmogrifier transactionalDao, final DateTime effectiveDate, final NotificationKey notificationKey) {
         try {
             NotificationQueue subscriptionEventQueue = notificationQueueService.getNotificationQueue(Engine.ENTITLEMENT_SERVICE_NAME,
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EventSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EventSqlDao.java
index adf007e..789b493 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EventSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EventSqlDao.java
@@ -56,9 +56,6 @@ public interface EventSqlDao extends Transactional<EventSqlDao>, CloseMe, Transm
     public void insertEvent(@Bind(binder = EventSqlDaoBinder.class) EntitlementEvent evt);
 
     @SqlUpdate
-    public void removeEvents(@Bind("subscription_id") String subscriptionId);
-
-    @SqlUpdate
     public void unactiveEvent(@Bind("event_id")String eventId, @Bind("now") Date now);
 
     @SqlUpdate
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.java
index 3f222ca..504610d 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.java
@@ -47,14 +47,9 @@ import java.util.UUID;
 
 @ExternalizedSqlViaStringTemplate3()
 public interface SubscriptionSqlDao extends Transactional<SubscriptionSqlDao>, CloseMe, Transmogrifier {
-
-
 	@SqlUpdate
     public void insertSubscription(@Bind(binder = ISubscriptionDaoBinder.class) SubscriptionData sub);
 
-    @SqlUpdate
-    public void removeSubscription(@Bind("id") String id);
-
     @SqlQuery
     @Mapper(ISubscriptionDaoSqlMapper.class)
     public Subscription getSubscriptionFromId(@Bind("id") String id);
diff --git a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/BundleSqlDao.sql.stg b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/BundleSqlDao.sql.stg
index d9f26c2..4f0e4db 100644
--- a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/BundleSqlDao.sql.stg
+++ b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/BundleSqlDao.sql.stg
@@ -14,13 +14,6 @@ insertBundle() ::= <<
     );
 >>
 
-removeBundle(id) ::= <<
-    delete from bundles
-    where
-      id = :id
-    ;
->>
-
 getBundleFromId(id) ::= <<
     select
       id
diff --git a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EventSqlDao.sql.stg b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EventSqlDao.sql.stg
index b639dce..86ee538 100644
--- a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EventSqlDao.sql.stg
+++ b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/EventSqlDao.sql.stg
@@ -54,13 +54,6 @@ insertEvent() ::= <<
     );   
 >>
 
-removeEvents(subscription_id) ::= <<
-    delete from entitlement_events
-      where
-    subscription_id = :subscription_id
-    ;
->>
-
 unactiveEvent(event_id, now) ::= <<
     update entitlement_events
     set
diff --git a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.sql.stg b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.sql.stg
index bb7400b..094bdf1 100644
--- a/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.sql.stg
+++ b/entitlement/src/main/resources/com/ning/billing/entitlement/engine/dao/SubscriptionSqlDao.sql.stg
@@ -22,12 +22,6 @@ insertSubscription() ::= <<
     );
 >>
 
-removeSubscription(id) ::= <<
-    delete from subscriptions
-     where id = :id
-    ;    
->>
-
 getSubscriptionFromId(id) ::= <<
     select
         id
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
index 4868bf7..ee9ef84 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
@@ -29,7 +29,6 @@ import java.util.UUID;
 import org.joda.time.DateTime;
 import org.testng.Assert;
 
-import com.google.common.collect.Lists;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.Duration;
 import com.ning.billing.catalog.api.PhaseType;
@@ -292,7 +291,7 @@ public abstract class TestMigration extends TestApiBase {
                                 }
                                 @Override
                                 public ProductCategory getCategory() {
-                                    return curCases.get(0).getPlanPhaseSpecifer().getProductCategory();
+                                    return curCases.get(0).getPlanPhaseSpecifier().getProductCategory();
                                 }
                                 @Override
                                 public DateTime getChargedThroughDate() {
@@ -428,7 +427,7 @@ public abstract class TestMigration extends TestApiBase {
         }
 
         @Override
-        public PlanPhaseSpecifier getPlanPhaseSpecifer() {
+        public PlanPhaseSpecifier getPlanPhaseSpecifier() {
             return pps;
         }
 
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
index f73e7e0..08f947e 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
@@ -385,8 +385,6 @@ public class MockEntitlementDaoMemory implements EntitlementDao, MockEntitlement
     public void migrate(final UUID accountId, final AccountMigrationData accountData) {
         synchronized(events) {
 
-            undoMigration(accountId);
-
             for (final BundleMigrationData curBundle : accountData.getData()) {
                 SubscriptionBundleData bundleData = curBundle.getData();
                 for (final SubscriptionMigrationData curSubscription : curBundle.getSubscriptions()) {
@@ -409,26 +407,6 @@ public class MockEntitlementDaoMemory implements EntitlementDao, MockEntitlement
     }
 
     @Override
-    public void undoMigration(final UUID accountId) {
-        synchronized(events) {
-
-            List<SubscriptionBundle> allBundles = getSubscriptionBundleForAccount(accountId);
-            for (final SubscriptionBundle bundle : allBundles) {
-                List<Subscription> allSubscriptions = getSubscriptions(bundle.getId());
-                for (final Subscription subscription : allSubscriptions) {
-                    List<EntitlementEvent> allEvents = getEventsForSubscription(subscription.getId());
-                    for (final EntitlementEvent event : allEvents) {
-                        events.remove(event);
-                    }
-                    subscriptions.remove(subscription);
-                }
-                bundles.remove(bundle);
-            }
-        }
-
-    }
-
-    @Override
     public EntitlementEvent getEventById(final UUID eventId) {
         synchronized(events) {
             for (final EntitlementEvent cur : events) {