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());
     }
 
 }


Reply via email to