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/11/16 09:52:04 UTC
svn commit: r1202591 -
/felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
Author: fmeschbe
Date: Wed Nov 16 08:52:04 2011
New Revision: 1202591
URL: http://svn.apache.org/viewvc?rev=1202591&view=rev
Log:
FELIX-3227 Comply with Config Admin 1.4 to call ManagedService.update with null if configuration is not visible
Modified:
felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
Modified: felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java?rev=1202591&r1=1202590&r2=1202591&view=diff
==============================================================================
--- felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java (original)
+++ felix/trunk/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java Wed Nov 16 08:52:04 2011
@@ -1372,21 +1372,29 @@ public class ConfigurationManager implem
return;
}
- // CM 1.4 / 104.13.2.2
- if ( !canReceive( serviceBundle, config.getBundleLocation() ) )
+ if ( canReceive( serviceBundle, config.getBundleLocation() ) )
{
- log( LogService.LOG_ERROR,
- "Cannot use configuration {0} for {1}: No visibility to configuration bound to {2}",
+ // 104.4.2 Dynamic Binding
+ config.tryBindLocation( serviceBundle.getLocation() );
+
+ // prepare the configuration for the service (call plugins)
+ callPlugins( properties, pid, sr, config );
+ }
+ else
+ {
+ // CM 1.4 / 104.13.2.2 / 104.5.3
+ // act as if there is no configuration
+ log(
+ LogService.LOG_DEBUG,
+ "Cannot use configuration {0} for {1}: No visibility to configuration bound to {2}; calling with null",
new Object[]
{ pid, ConfigurationManager.toString( sr ), config.getBundleLocation() } );
- return;
- }
- // 104.4.2 Dynamic Binding
- config.tryBindLocation( serviceBundle.getLocation() );
+ // CM 1.4 / 104.5.3 ManagedService.updated must be
+ // called with null if configuration is no visible
+ properties = null;
+ }
- // prepare the configuration for the service (call plugins)
- callPlugins( properties, pid, sr, config );
}
else
{