Author: jwross
Date: Mon Apr 25 12:59:32 2016
New Revision: 1740835

URL: http://svn.apache.org/viewvc?rev=1740835&view=rev
Log:
[ARIES-1538] Never fail a subsystem resolution because an already resolved 
resource has a missing dependency.

When no matching capabilities are found, if the requirement is not optional and 
the requirement resource is already resolved, have the resolve context add a 
missing capability. Do not fail the
subsystem resolution.

Modified:
    
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/ResolveContext.java

Modified: 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/ResolveContext.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/ResolveContext.java?rev=1740835&r1=1740834&r2=1740835&view=diff
==============================================================================
--- 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/ResolveContext.java
 (original)
+++ 
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/ResolveContext.java
 Mon Apr 25 12:59:32 2016
@@ -200,6 +200,12 @@ public class ResolveContext extends org.
                                        // it gets added to the sharing policy 
per the specification.
                                        capabilities.add(new 
MissingCapability(requirement));
                                }
+                               // Is the requirement resource already 
resolved? See ARIES-1538.
+                               else if (isResolved(requirement.getResource())) 
{
+                                       // Yes, the resource has already been 
resolved. Do not fail
+                                       // the subsystem resolution due to a 
missing dependency.
+                                       capabilities.add(new 
MissingCapability(requirement));
+                               }
                        }
                }
                catch (Throwable t) {


Reply via email to