killbill-memoizeit

Fir NPE with tag

7/18/2012 6:18:35 PM

Details

diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
index 582a384..fc0ddf2 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
@@ -101,13 +101,15 @@ public class DefaultTagDefinitionDao implements TagDefinitionDao {
                 }
             }
         }
+        if (definitionIds.size() > 0) {
+            result.addAll(tagDefinitionSqlDao.getByIds(Collections2.transform(definitionIds, new Function<UUID, String>() {
+                @Override
+                public String apply(UUID input) {
+                    return input.toString();
+                }
 
-        result.addAll(tagDefinitionSqlDao.getByIds(Collections2.transform(definitionIds, new Function<UUID, String>() {
-            @Override
-            public String apply(UUID input) {
-                return input.toString();
-            }
-        })));
+            })));
+        }
         return result;
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
index cd0e544..e1f4105 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestAuditedTagDao.java
@@ -95,6 +95,10 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
 
         final List<UUID> uuids = new ArrayList<UUID>();
 
+        // Check with a empty Collecion first
+        List<TagDefinition> result = tagDefinitionDao.getByIds(uuids);
+        assertEquals(result.size(), 0);
+
         TagDefinition defYo = tagDefinitionDao.create("yo", "defintion yo", context);
         uuids.add(defYo.getId());
         TagDefinition defBah = tagDefinitionDao.create("bah", "defintion bah", context);
@@ -102,7 +106,7 @@ public class TestAuditedTagDao extends UtilTestSuiteWithEmbeddedDB {
         TagDefinition defZoo = tagDefinitionDao.create("zoo", "defintion zoo", context);
         uuids.add(defZoo.getId());
 
-        List<TagDefinition> result = tagDefinitionDao.getByIds(uuids);
+        result = tagDefinitionDao.getByIds(uuids);
         assertEquals(result.size(), 3);
 
         // Add control tag and retry