You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2017/05/02 14:48:34 UTC

svn commit: r1793515 - in /sling/trunk/bundles/extensions/caconfig/impl/src: main/java/org/apache/sling/caconfig/management/impl/ test/java/org/apache/sling/caconfig/management/impl/

Author: sseifert
Date: Tue May  2 14:48:33 2017
New Revision: 1793515

URL: http://svn.apache.org/viewvc?rev=1793515&view=rev
Log:
SLING-6821 Context-Aware Config: Management API - Default value for sling:configCollectionInherit for implicit inheritance

Modified:
    sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImpl.java
    sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
    sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java

Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImpl.java?rev=1793515&r1=1793514&r2=1793515&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImpl.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImpl.java Tue May  2 14:48:33 2017
@@ -25,6 +25,7 @@ import java.util.Map;
 import org.apache.sling.caconfig.management.ConfigurationCollectionData;
 import org.apache.sling.caconfig.management.ConfigurationData;
 import org.apache.sling.caconfig.management.ConfigurationManagementSettings;
+import org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants;
 
 final class ConfigurationCollectionDataImpl implements ConfigurationCollectionData {
     
@@ -68,6 +69,9 @@ final class ConfigurationCollectionDataI
                 filteredPropertiesCache.putAll(properties);
                 PropertiesFilterUtil.removeIgnoredProperties(filteredPropertiesCache, configurationManagementSettings);
             }
+            else {
+                filteredPropertiesCache.put(ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT, true);
+            }
         }
         return filteredPropertiesCache;
     }

Modified: sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java?rev=1793515&r1=1793514&r2=1793515&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java Tue May  2 14:48:33 2017
@@ -192,6 +192,15 @@ public class ConfigurationManagerImpl im
                 }
             }
         }
+        // fallback for writeback path detection when no configuration resources does exist yet
+        if (writebackConfigResourceCollectionParentPath == null) {
+            for (String configBucketName : configurationResourceResolverConfig.configBucketNames()) {
+                writebackConfigResourceCollectionParentPath = configurationResourceResolvingStrategy.getResourceCollectionParentPath(resource, configBucketName, configName);
+                if (writebackConfigResourceCollectionParentPath != null) {
+                    break;
+                }
+            }
+        }
         
         // get properties of parent resource of the current level
         Map<String,Object> resourceCollectionParentProps = null;

Modified: sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java?rev=1793515&r1=1793514&r2=1793515&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java (original)
+++ sling/trunk/bundles/extensions/caconfig/impl/src/test/java/org/apache/sling/caconfig/management/impl/ConfigurationCollectionDataImplTest.java Tue May  2 14:48:33 2017
@@ -28,6 +28,7 @@ import java.util.Map;
 import org.apache.sling.caconfig.management.ConfigurationCollectionData;
 import org.apache.sling.caconfig.management.ConfigurationData;
 import org.apache.sling.caconfig.management.ConfigurationManagementSettings;
+import org.apache.sling.caconfig.resource.impl.def.ConfigurationResourceNameConstants;
 import org.apache.sling.testing.mock.sling.junit.SlingContext;
 import org.junit.Before;
 import org.junit.Rule;
@@ -72,7 +73,7 @@ public class ConfigurationCollectionData
         assertEquals("name1", underTest.getConfigName());
         assertTrue(underTest.getItems().isEmpty());
         assertEquals("/path1", underTest.getResourcePath());
-        assertTrue(underTest.getProperties().isEmpty());
+        assertEquals(ImmutableMap.<String,Object>of(ConfigurationResourceNameConstants.PROPERTY_CONFIG_COLLECTION_INHERIT, true), underTest.getProperties());
     }
 
 }