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