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>.

Reply via email to