FELIX-334 Missing callbacks for Configuration plugins
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@563070 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
index 8224290..a2163b6 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
@@ -925,7 +925,7 @@
ConfigurationImpl cfg;
try
{
- cfg = getConfiguration( pid, bundleLocation );
+ cfg = getConfiguration( pid, false );
}
catch ( IOException ioe )
{
@@ -945,7 +945,7 @@
else if ( !factoryPid.equals( cfg.getFactoryPid() ) )
{
log( LogService.LOG_ERROR, "Configuration " + pid + " referred to by factory " + factoryPid
- + " does not exist seems to belong to factory " + cfg.getFactoryPid(), null );
+ + " seems to belong to factory " + cfg.getFactoryPid(), null );
factory.removePID( pid );
factory.storeSilently();
continue;
@@ -1040,7 +1040,11 @@
return;
}
- srv.updated( config.getProperties() );
+ // prepare the configuration for the service (call plugins)
+ Dictionary dictionary = callPlugins( sr[0], config );
+
+ // update the ManagedService with the properties
+ srv.updated( dictionary );
}
finally
{
@@ -1076,7 +1080,12 @@
return;
}
- srv.updated( config.getPid(), config.getProperties() );
+
+ // prepare the configuration for the service (call plugins)
+ Dictionary dictionary = callPlugins( sr[0], config );
+
+ // update the ManagedServiceFactory with the properties
+ srv.updated( config.getPid(), dictionary );
}
finally
{