killbill-memoizeit

Details

diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java b/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
index 1cc7c31..c677d82 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockBusinessSubscriptionTransitionSqlDao.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.skife.jdbi.v2.Transaction;
+import org.skife.jdbi.v2.TransactionIsolationLevel;
 import org.skife.jdbi.v2.sqlobject.Bind;
 import org.testng.Assert;
 
@@ -118,4 +119,9 @@ public class MockBusinessSubscriptionTransitionSqlDao implements BusinessSubscri
             return null;
         }
     }
+
+    @Override
+    public <ReturnType> ReturnType inTransaction(final TransactionIsolationLevel isolation, final Transaction<ReturnType, BusinessSubscriptionTransitionSqlDao> func) {
+        return inTransaction(func);
+    }
 }
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 ac02a22..ad30cfa 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
@@ -135,7 +135,11 @@ public class AccountJson extends AccountJsonSimple {
 
             @Override
             public Currency getCurrency() {
-                return Currency.valueOf(currency);
+                if (currency == null) {
+                    return null;
+                } else {
+                    return Currency.valueOf(currency);
+                }
             }
 
             @Override

pom.xml 2(+1 -1)

diff --git a/pom.xml b/pom.xml
index e0757f4..3bed690 100644
--- a/pom.xml
+++ b/pom.xml
@@ -322,7 +322,7 @@
             <dependency>
                 <groupId>org.jdbi</groupId>
                 <artifactId>jdbi</artifactId>
-                <version>2.37.1</version>
+                <version>2.39.1</version>
             </dependency>
             <dependency>
                 <groupId>org.skife.config</groupId>
diff --git a/util/src/test/java/com/ning/billing/dbi/DBIProvider.java b/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
index be2e012..4855d78 100644
--- a/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
+++ b/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
@@ -18,6 +18,7 @@ package com.ning.billing.dbi;
 
 import org.skife.jdbi.v2.DBI;
 import org.skife.jdbi.v2.IDBI;
+import org.skife.jdbi.v2.tweak.transactions.SerializableTransactionRunner;
 
 import com.google.inject.Inject;
 import com.google.inject.Provider;
@@ -25,6 +26,7 @@ import com.jolbox.bonecp.BoneCPConfig;
 import com.jolbox.bonecp.BoneCPDataSource;
 
 public class DBIProvider implements Provider<IDBI> {
+
     private final DbiConfig config;
 
     @Inject
@@ -48,6 +50,8 @@ public class DBIProvider implements Provider<IDBI> {
 
         final BoneCPDataSource ds = new BoneCPDataSource(dbConfig);
         final DBI dbi = new DBI(ds);
+        // Restart transactions in case of deadlocks
+        dbi.setTransactionHandler(new SerializableTransactionRunner());
         //final SQLLog log = new Log4JLog();
         //dbi.setSQLLog(log);