Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id BF709200BDA for ; Tue, 13 Dec 2016 10:24:21 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id BE10E160B23; Tue, 13 Dec 2016 09:24:21 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 03F2E160B15 for ; Tue, 13 Dec 2016 10:24:20 +0100 (CET) Received: (qmail 83305 invoked by uid 500); 13 Dec 2016 09:24:20 -0000 Mailing-List: contact commits-help@sling.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@sling.apache.org Delivered-To: mailing list commits@sling.apache.org Received: (qmail 83296 invoked by uid 99); 13 Dec 2016 09:24:20 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Dec 2016 09:24:20 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 5E60E3A0335 for ; Tue, 13 Dec 2016 09:24:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1773934 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java Date: Tue, 13 Dec 2016 09:24:18 -0000 To: commits@sling.apache.org From: tommaso@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161213092419.5E60E3A0335@svn01-us-west.apache.org> archived-at: Tue, 13 Dec 2016 09:24:21 -0000 Author: tommaso Date: Tue Dec 13 09:24:18 2016 New Revision: 1773934 URL: http://svn.apache.org/viewvc?rev=1773934&view=rev Log: SLING-6391 - added some javadoc and comments Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java?rev=1773934&r1=1773933&r2=1773934&view=diff ============================================================================== --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java Tue Dec 13 09:24:18 2016 @@ -54,10 +54,10 @@ public class DefaultDistributionConfigur @Property(label = "Resource Config Root", description = "The resource config root", value = "/etc/distribution") public static final String CONFIG_ROOT = "resource.config.root"; - @Property(label = "Resource Config Properties", description = "The resource config properties", value = { "enabled" } ) - public static final String CONFIG_PROPERTIES= "resource.config.properties"; + @Property(label = "Resource Config Properties", description = "The resource config properties", value = {"enabled"}) + public static final String CONFIG_PROPERTIES = "resource.config.properties"; - @Property(label = "Resource Config Defaults", description = "The default values for resource config properties", value = { "serializationType=distribution" } ) + @Property(label = "Resource Config Defaults", description = "The default values for resource config properties", value = {"serializationType=distribution"}) public static final String CONFIG_DEFAULTS = "resource.config.defaults"; @Reference @@ -209,21 +209,32 @@ public class DefaultDistributionConfigur return result; } + /** + * Split a {@link DistributionConfiguration} into two configurations, so that properties starting with a certain prefix + * go to a separate configuration while the remaining ones will live in a new configuration + * @param config a configuration + * @param prefix a prefix + * @return a {@link Map} of prefix -> configuration + */ static Map splitConfig(DistributionConfiguration config, String prefix) { - Map properties = config.getProperties(); + Map distributionConfigurationProperties = config.getProperties(); + // properties for OSGi configuration Map defaultMap = new HashMap(); - Map prefixMap = new HashMap(); + // properties for resource configuration + Map prefixMap = new HashMap(); - for (String propertyKey : properties.keySet()) { - if (propertyKey.startsWith(prefix)) { - prefixMap.put(propertyKey.substring(prefix.length()), properties.get(propertyKey)); + // split the properties of the given configuration between the OSGi config and the persisted config + for (String configurationPropertyKey : distributionConfigurationProperties.keySet()) { + if (configurationPropertyKey.startsWith(prefix)) { + prefixMap.put(configurationPropertyKey.substring(prefix.length()), distributionConfigurationProperties.get(configurationPropertyKey)); } else { - defaultMap.put(propertyKey, properties.get(propertyKey)); + defaultMap.put(configurationPropertyKey, distributionConfigurationProperties.get(configurationPropertyKey)); } } + // create an OSGi and a persisted configuration Map result = new HashMap(); result.put(OSGI_PREFIX, new DistributionConfiguration(config.getKind(), config.getName(), defaultMap)); if (prefixMap.size() > 0) {