Applied patch to address some NPEs. (FELIX-1809)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@910440 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/FilterImpl.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/FilterImpl.java
index 7609a30..c99ef76 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/FilterImpl.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/FilterImpl.java
@@ -350,7 +350,7 @@
                         }
                     }
                 }
-                else if (numClass.isArray())
+                else if (numClass != null && numClass.isArray())
                 {
                     int len = Array.getLength(obj);
                     for (int i = 0; i < len; i++)
@@ -425,6 +425,7 @@
             }
             catch (Exception e)
             {
+                e.printStackTrace();
             }
             return false;
         }
@@ -660,4 +661,4 @@
             return false;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/StringSet.java b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/StringSet.java
index 1ce521b..b23fd07 100644
--- a/bundlerepository/src/main/java/org/apache/felix/bundlerepository/StringSet.java
+++ b/bundlerepository/src/main/java/org/apache/felix/bundlerepository/StringSet.java
@@ -26,10 +26,13 @@
 
     public StringSet(String set)
     {
-        StringTokenizer st = new StringTokenizer(set, ",");
-        while (st.hasMoreTokens())
+        if (set != null)
         {
-            add(st.nextToken().trim());
+            StringTokenizer st = new StringTokenizer(set, ",");
+            while (st.hasMoreTokens())
+            {
+                add(st.nextToken().trim());
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/bundlerepository/src/test/java/org/apache/felix/bundlerepository/FilterImplTest.java b/bundlerepository/src/test/java/org/apache/felix/bundlerepository/FilterImplTest.java
index 2d93530..53d9679 100644
--- a/bundlerepository/src/test/java/org/apache/felix/bundlerepository/FilterImplTest.java
+++ b/bundlerepository/src/test/java/org/apache/felix/bundlerepository/FilterImplTest.java
@@ -70,7 +70,7 @@
         dict.put("package", "org.eclipse.core.runtime");
         dict.put("version", "0.0.0");
         dict.put("common", "split");
-        assertFalse(filterImpl.match(dict));
+        assertTrue(filterImpl.match(dict));
 
         filterImpl = new FilterImpl("(&(package=org.eclipse.core.runtime)(version>=0.0.0)(common=split)(mandatory:*>common))");
         dict = new Hashtable();
@@ -116,5 +116,4 @@
         assertFalse(filterImpl.matchCase(dict));
         
     }
-    
-}
+}
\ No newline at end of file