You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2011/08/29 09:07:10 UTC

svn commit: r1162659 - /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Author: fmeschbe
Date: Mon Aug 29 07:07:09 2011
New Revision: 1162659

URL: http://svn.apache.org/viewvc?rev=1162659&view=rev
Log:
FELIX-3089 Assume a optional dependency satisfied even if the component has no permission to get the service (according to 112.9.1)

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=1162659&r1=1162658&r2=1162659&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Mon Aug 29 07:07:09 2011
@@ -618,9 +618,20 @@ public abstract class AbstractComponentM
             if ( !dm.hasGetPermission() )
             {
                 // bundle has no service get permission
-                log( LogService.LOG_DEBUG, "No permission to get dependency: {0}", new Object[]
-                    { dm.getName() }, null );
-                satisfied = false;
+                if ( dm.isOptional() )
+                {
+                    log( LogService.LOG_DEBUG, "No permission to get optional dependency: {0}; assuming satisfied",
+                        new Object[]
+                            { dm.getName() }, null );
+                    satisfied = true;
+                }
+                else
+                {
+                    log( LogService.LOG_DEBUG, "No permission to get mandatory dependency: {0}; assuming unsatisfied",
+                        new Object[]
+                            { dm.getName() }, null );
+                    satisfied = false;
+                }
             }
             else if ( !dm.isSatisfied() )
             {