diff --git a/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
index e77b523..bd45f5e 100644
--- a/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
@@ -120,7 +120,7 @@ public class DefaultAccountDao extends EntityDaoBase<AccountModelDao, Account, A
@Override
public void update(final AccountModelDao specifiedAccount, final InternalCallContext context) throws AccountApiException {
- transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<Void>() {
+ transactionalSqlDao.execute(AccountApiException.class, new EntitySqlDaoTransactionWrapper<Void>() {
@Override
public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws EventBusException, AccountApiException {
final AccountSqlDao transactional = entitySqlDaoWrapperFactory.become(AccountSqlDao.class);
@@ -152,7 +152,7 @@ public class DefaultAccountDao extends EntityDaoBase<AccountModelDao, Account, A
@Override
public void updatePaymentMethod(final UUID accountId, final UUID paymentMethodId, final InternalCallContext context) throws AccountApiException {
- transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<Void>() {
+ transactionalSqlDao.execute(AccountApiException.class, new EntitySqlDaoTransactionWrapper<Void>() {
@Override
public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws EntityPersistenceException, EventBusException {
final AccountSqlDao transactional = entitySqlDaoWrapperFactory.become(AccountSqlDao.class);
@@ -187,7 +187,7 @@ public class DefaultAccountDao extends EntityDaoBase<AccountModelDao, Account, A
@Override
public void addEmail(final AccountEmailModelDao email, final InternalCallContext context) throws AccountApiException {
- transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<Void>() {
+ transactionalSqlDao.execute(AccountApiException.class, new EntitySqlDaoTransactionWrapper<Void>() {
@Override
public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
final AccountEmailSqlDao transactional = entitySqlDaoWrapperFactory.become(AccountEmailSqlDao.class);
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 e92996d..17df3eb 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
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTimeZone;
-import org.skife.jdbi.v2.exceptions.TransactionFailedException;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -220,9 +219,8 @@ public class TestAccountDao extends AccountTestSuiteWithEmbeddedDB {
try {
accountDao.addEmail(accountEmailModelDao, internalCallContext);
Assert.fail();
- } catch (TransactionFailedException e) {
- Assert.assertTrue(e.getCause() instanceof AccountApiException);
- Assert.assertEquals(((AccountApiException) e.getCause()).getCode(), ErrorCode.ACCOUNT_EMAIL_ALREADY_EXISTS.getCode());
+ } catch (AccountApiException e) {
+ Assert.assertEquals(e.getCode(), ErrorCode.ACCOUNT_EMAIL_ALREADY_EXISTS.getCode());
}
}