Author: cziegeler
Date: Fri Oct  7 08:47:27 2016
New Revision: 1763697

URL: http://svn.apache.org/viewvc?rev=1763697&view=rev
Log:
SLING-6059 Context-Aware Config: Make resource inheritance for configuration 
collections configurable. Add missing check for jcr:content

Modified:
    
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java

Modified: 
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java?rev=1763697&r1=1763696&r2=1763697&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
 Fri Oct  7 08:47:27 2016
@@ -234,7 +234,7 @@ public class DefaultConfigurationResourc
         final List<Resource> result = new ArrayList<>();
         final Set<String> nameCandidates = new HashSet<>();
         final List<Resource> resultCandidates = new ArrayList<>();
-        
+
         int idx = 1;
         Iterator<String> paths = getResolvePaths(contentResource);
         Boolean listMergingEnabled = null;
@@ -242,10 +242,10 @@ public class DefaultConfigurationResourc
             final String path = paths.next();
             Resource item = 
contentResource.getResourceResolver().getResource(buildResourcePath(path, 
name));
             if (item != null) {
-                
+
                 // check inheritance mode on current level
                 listMergingEnabled = 
item.getValueMap().get(PROPERTY_CONFIG_INHERIT, listMergingEnabled);
-                
+
                 // in inheritance is enabled on this level and candidates 
where collected on previous levels add them now
                 if (listMergingEnabled == Boolean.TRUE && 
!resultCandidates.isEmpty()) {
                     result.addAll(resultCandidates);
@@ -253,7 +253,7 @@ public class DefaultConfigurationResourc
                     resultCandidates.clear();
                     nameCandidates.clear();
                 }
-                
+
                 if (logger.isTraceEnabled()) {
                     logger.trace("+ resolved config item at [{}]: {}", idx, 
item.getPath());
                 }
@@ -261,7 +261,8 @@ public class DefaultConfigurationResourc
                 // add resource items only if none found yet, or inheritance 
is enabled
                 if (result.isEmpty() || listMergingEnabled == Boolean.TRUE) {
                     for (Resource child : item.getChildren()) {
-                        if (!names.contains(child.getName())) {
+                        if (isValidResourceCollectionItem(child)
+                                && !names.contains(child.getName())) {
                             result.add(child);
                             names.add(child.getName());
                         }
@@ -298,7 +299,7 @@ public class DefaultConfigurationResourc
 
         return result;
     }
-    
+
     private boolean isValidResourceCollectionItem(Resource resource) {
         // do not include jcr:content nodes in resource collection list
         return !StringUtils.equals(resource.getName(), "jcr:content");


Reply via email to