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(