This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.installer.factory.configuration-1.1.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-installer-factory-configuration.git
commit 5ce4ecd817bc819f5df8dd419502c8197add56ad Author: Carsten Ziegeler <[email protected]> AuthorDate: Fri Jan 2 11:05:28 2015 +0000 SLING-4272 : Issues in handling of configurations wrt update handling and write back git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/installer/factories/configuration@1648997 13f79535-47bb-0310-9956-ffa450edef68 --- .../configuration/impl/ConfigTaskCreator.java | 37 ++++++++++++---------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java index 23a59e0..1184c20 100644 --- a/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java +++ b/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigTaskCreator.java @@ -122,24 +122,27 @@ public class ConfigTaskCreator final Coordinator.Operation op = Coordinator.SHARED.get(event.getPid(), event.getFactoryPid(), false); if ( config != null && op == null ) { final boolean persist = ConfigUtil.toBoolean(config.getProperties().get(ConfigurationConstants.PROPERTY_PERSISTENCE), true); - if ( persist ) { - final Dictionary<String, Object> dict = ConfigUtil.cleanConfiguration(config.getProperties()); - final Map<String, Object> attrs = new HashMap<String, Object>(); - attrs.put(Constants.SERVICE_PID, event.getPid()); - if ( event.getFactoryPid() == null ) { - attrs.put(InstallableResource.RESOURCE_URI_HINT, pid); - } else { - attrs.put(InstallableResource.RESOURCE_URI_HINT, event.getFactoryPid() + '-' + pid); - } - if ( config.getBundleLocation() != null ) { - attrs.put(InstallableResource.INSTALLATION_HINT, config.getBundleLocation()); - } - // Factory? - if (event.getFactoryPid() != null) { - attrs.put(ConfigurationAdmin.SERVICE_FACTORYPID, event.getFactoryPid()); - } - this.changeListener.resourceAddedOrUpdated(InstallableResource.TYPE_CONFIG, id, null, dict, attrs); + + final Dictionary<String, Object> dict = ConfigUtil.cleanConfiguration(config.getProperties()); + final Map<String, Object> attrs = new HashMap<String, Object>(); + if ( !persist ) { + attrs.put(ResourceChangeListener.RESOURCE_PERSIST, Boolean.FALSE); + } + attrs.put(Constants.SERVICE_PID, event.getPid()); + if ( event.getFactoryPid() == null ) { + attrs.put(InstallableResource.RESOURCE_URI_HINT, pid); + } else { + attrs.put(InstallableResource.RESOURCE_URI_HINT, event.getFactoryPid() + '-' + pid); + } + if ( config.getBundleLocation() != null ) { + attrs.put(InstallableResource.INSTALLATION_HINT, config.getBundleLocation()); } + // Factory? + if (event.getFactoryPid() != null) { + attrs.put(ConfigurationAdmin.SERVICE_FACTORYPID, event.getFactoryPid()); + } + this.changeListener.resourceAddedOrUpdated(InstallableResource.TYPE_CONFIG, id, null, dict, attrs); + } else { this.logger.debug("Ignoring configuration event for {}:{}", event.getPid(), event.getFactoryPid()); } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
