You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2015/09/28 14:48:50 UTC

svn commit: r1705679 - /felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java

Author: davidb
Date: Mon Sep 28 12:48:49 2015
New Revision: 1705679

URL: http://svn.apache.org/viewvc?rev=1705679&view=rev
Log:
FELIX-5015 NPE in ResolverImpl

Applying patch on behalf of Alexandre Roman with many thanks!

Modified:
    felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java

Modified: felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java?rev=1705679&r1=1705678&r2=1705679&view=diff
==============================================================================
--- felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java (original)
+++ felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java Mon Sep 28 12:48:49 2015
@@ -1717,7 +1717,25 @@ public class ResolverImpl implements Res
     private static Set<Capability> getPackageSources(
             Capability cap, Map<Resource, Packages> resourcePkgMap)
     {
-        return resourcePkgMap.get(cap.getResource()).m_sources.get(cap);
+        Resource resource = cap.getResource();
+        if(resource == null)
+        {
+            return new HashSet<Capability>();
+        }
+
+        OpenHashMap<Capability, Set<Capability>> sources = resourcePkgMap.get(resource).m_sources;
+        if(sources == null)
+        {
+            return new HashSet<Capability>();
+        }
+
+        Set<Capability> packageSources = sources.get(cap);
+        if(packageSources == null) 
+        {
+            return new HashSet<Capability>();
+        }
+
+        return packageSources;  
     }
 
     private static void getPackageSourcesInternal(