killbill-aplcache

util: fix potential NPE in DefaultNonEntityDao Signed-off-by:

4/3/2015 9:15:17 AM

Details

diff --git a/util/src/main/java/org/killbill/billing/util/dao/DefaultNonEntityDao.java b/util/src/main/java/org/killbill/billing/util/dao/DefaultNonEntityDao.java
index e68e0d1..595833e 100644
--- a/util/src/main/java/org/killbill/billing/util/dao/DefaultNonEntityDao.java
+++ b/util/src/main/java/org/killbill/billing/util/dao/DefaultNonEntityDao.java
@@ -85,7 +85,8 @@ public class DefaultNonEntityDao implements NonEntityDao {
             public Long doRetrieve(final UUID objectId, final ObjectType objectType) {
                 switch (tableName) {
                     case TENANT:
-                        return objectId == null ? 0L : nonEntitySqlDao.getTenantRecordIdFromTenant(objectId.toString());
+                        // Explicit cast to Long to avoid NPE (unboxing to long)
+                        return objectId == null ? (Long) 0L : nonEntitySqlDao.getTenantRecordIdFromTenant(objectId.toString());
 
                     default:
                         return nonEntitySqlDao.getTenantRecordIdFromObjectOtherThanTenant(objectId.toString(), tableName.getTableName());