You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/10/07 08:47:27 UTC
svn commit: r1763697 -
/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/contextaware/config/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
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");