Author: rickhall
Date: Sun May  3 01:17:33 2009
New Revision: 771010

URL: http://svn.apache.org/viewvc?rev=771010&view=rev
Log:
NPE if installed JAR is not a bundle; check for it now. (FELIX-29)

Modified:
    
felix/trunk/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java

Modified: 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java?rev=771010&r1=771009&r2=771010&view=diff
==============================================================================
--- 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java
 (original)
+++ 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FelixResolverState.java
 Sun May  3 01:17:33 2009
@@ -70,16 +70,23 @@
             if (!host.isResolved() && !Util.isFragment(host))
             {
                 ICapability[] caps = host.getCapabilities();
-                ICapability bundleCap = null;
+                ICapability hostCap = null;
                 for (int capIdx = 0; capIdx < caps.length; capIdx++)
                 {
                     if 
(caps[capIdx].getNamespace().equals(ICapability.HOST_NAMESPACE))
                     {
-                        bundleCap = caps[capIdx];
+                        hostCap = caps[capIdx];
                         break;
                     }
                 }
 
+                // If there is no host capability in the current module,
+                // then just ignore it.
+                if (hostCap == null)
+                {
+                    continue;
+                }
+
                 // Need to remove any previously attached, but not resolved 
fragments.
                 // TODO: FRAGMENT - Would be better to have the previous 
resolves
                 //       not leave fragments attached.
@@ -99,7 +106,7 @@
                         for (int reqIdx = 0; reqIdx < reqs.length; reqIdx++)
                         {
                             if 
(reqs[reqIdx].getNamespace().equals(ICapability.HOST_NAMESPACE)
-                                && reqs[reqIdx].isSatisfied(bundleCap)
+                                && reqs[reqIdx].isSatisfied(hostCap)
                                 && !((BundleImpl) 
fragments[fragIdx].getBundle()).isStale()
                                 && !((BundleImpl) 
fragments[fragIdx].getBundle()).isRemovalPending())
                             {


Reply via email to