This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.provisioning.model-1.3.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-provisioning-model.git
commit 9a36bf7fe5ec2e363529b2a128ce4baac910440d Author: Stefan Seifert <sseif...@apache.org> AuthorDate: Tue Jul 14 23:24:19 2015 +0000 SLING-4807 introduce explicit boolean flag to make sure variable replacement does not take place when merging models git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/support/provisioning-model@1691105 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/sling/provisioning/model/EffectiveModelProcessor.java | 2 +- .../org/apache/sling/provisioning/model/ModelResolveUtility.java | 8 ++++++-- .../java/org/apache/sling/provisioning/model/ModelUtility.java | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/apache/sling/provisioning/model/EffectiveModelProcessor.java b/src/main/java/org/apache/sling/provisioning/model/EffectiveModelProcessor.java index 14188b5..8a18d8f 100644 --- a/src/main/java/org/apache/sling/provisioning/model/EffectiveModelProcessor.java +++ b/src/main/java/org/apache/sling/provisioning/model/EffectiveModelProcessor.java @@ -56,7 +56,7 @@ class EffectiveModelProcessor extends ModelProcessor { @Override protected Configuration processConfiguration(Configuration config, Feature newFeature, RunMode newRunMode) { Configuration newConfig = new Configuration(config.getPid(), config.getFactoryPid()); - getProcessedConfiguration(newFeature, newConfig, config, options.getVariableResolver()); + getProcessedConfiguration(newFeature, newConfig, config, true, options.getVariableResolver()); return newConfig; } diff --git a/src/main/java/org/apache/sling/provisioning/model/ModelResolveUtility.java b/src/main/java/org/apache/sling/provisioning/model/ModelResolveUtility.java index ccae06d..95f0dc8 100644 --- a/src/main/java/org/apache/sling/provisioning/model/ModelResolveUtility.java +++ b/src/main/java/org/apache/sling/provisioning/model/ModelResolveUtility.java @@ -104,12 +104,14 @@ class ModelResolveUtility { * @param feature Feature * @param newConfig New configuration with replaced variables * @param config Source configuration which may contain variable placeholders - * @param resolver Variable resolver + * @param replaceVariables If set to true variables are resolved in the config before processing it. + * @param resolver Variable resolver Optional variable resolver which is used. If not given only the feature's variables are used. */ static void getProcessedConfiguration( final Feature feature, final Configuration newConfig, final Configuration config, + final boolean replaceVariables, final VariableResolver resolver) { newConfig.setComment(config.getComment()); newConfig.setLocation(config.getLocation()); @@ -117,7 +119,9 @@ class ModelResolveUtility { // check for raw configuration String rawConfig = (String)config.getProperties().get(ModelConstants.CFG_UNPROCESSED); if ( rawConfig != null ) { - rawConfig = replace(feature, rawConfig, resolver); + if ( replaceVariables ) { + rawConfig = replace(feature, rawConfig, resolver); + } if ( config.isSpecial() ) { newConfig.getProperties().put(config.getPid(), rawConfig); } else { diff --git a/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java b/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java index 8add571..968e32e 100644 --- a/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java +++ b/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java @@ -171,12 +171,12 @@ public abstract class ModelUtility { copyConfigurationProperties(baseConfig, mergeConfig); } else { final Configuration newConfig = new Configuration(baseConfig.getPid(), baseConfig.getFactoryPid()); - getProcessedConfiguration(null, newConfig, baseConfig, null); + getProcessedConfiguration(null, newConfig, baseConfig, false, null); clearConfiguration(baseConfig); copyConfigurationProperties(baseConfig, newConfig); clearConfiguration(newConfig); - getProcessedConfiguration(null, newConfig, mergeConfig, null); + getProcessedConfiguration(null, newConfig, mergeConfig, false, null); if ( baseConfig.isSpecial() ) { final String baseValue = baseConfig.getProperties().get(baseConfig.getPid()).toString(); @@ -201,7 +201,7 @@ public abstract class ModelUtility { copyConfigurationProperties(baseConfig, mergeConfig); } else { final Configuration newMergeConfig = new Configuration(mergeConfig.getPid(), mergeConfig.getFactoryPid()); - getProcessedConfiguration(null, newMergeConfig, mergeConfig, null); + getProcessedConfiguration(null, newMergeConfig, mergeConfig, false, null); if ( baseConfig.isSpecial() ) { final String baseValue = baseConfig.getProperties().get(baseConfig.getPid()).toString(); -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.