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.2.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-provisioning-model.git
commit 5f9f27cb82310da276e0a2b492bc0298883df4c9 Author: Carsten Ziegeler <cziege...@apache.org> AuthorDate: Mon Jun 8 14:07:56 2015 +0000 SLING-4126 : Provide a mechanism to merge configurations git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/support/provisioning-model@1684190 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/sling/provisioning/model/ModelUtility.java | 8 ++++++++ src/test/java/org/apache/sling/provisioning/model/U.java | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) 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 aa64ed9..cfeea1f 100644 --- a/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java +++ b/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java @@ -147,6 +147,14 @@ public abstract class ModelUtility { */ private static void mergeConfiguration(final Configuration baseConfig, final Configuration mergeConfig) { // check for merge mode + final boolean isNew = baseConfig.getProperties().isEmpty(); + if ( isNew ) { + copyConfigurationProperties(baseConfig, mergeConfig); + final Object mode = mergeConfig.getProperties().get(ModelConstants.CFG_UNPROCESSED_MODE); + if ( mode != null ) { + baseConfig.getProperties().put(ModelConstants.CFG_UNPROCESSED_MODE, mode); + } + } final boolean baseIsRaw = baseConfig.getProperties().get(ModelConstants.CFG_UNPROCESSED) != null; final boolean mergeIsRaw = mergeConfig.getProperties().get(ModelConstants.CFG_UNPROCESSED) != null; // simplest case, both are raw diff --git a/src/test/java/org/apache/sling/provisioning/model/U.java b/src/test/java/org/apache/sling/provisioning/model/U.java index a7924ad..65576de 100644 --- a/src/test/java/org/apache/sling/provisioning/model/U.java +++ b/src/test/java/org/apache/sling/provisioning/model/U.java @@ -52,7 +52,7 @@ public class U { /** Read the complete model from that names */ public static Model readCompleteTestModel(final String[] names) throws Exception { - Model result = null; + final Model result = new Model(); for(final String name : names) { final Reader reader = new InputStreamReader(U.class.getResourceAsStream("/" + name), "UTF-8"); @@ -62,11 +62,7 @@ public class U { if (errors != null ) { throw new Exception("Invalid model at " + name + " : " + errors); } - if ( result == null ) { - result = current; - } else { - ModelUtility.merge(result, current); - } + ModelUtility.merge(result, current); } finally { reader.close(); } -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.