This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git
commit b4a0320545887674dccfa0398b63ef79da09ff84 Author: Robert Munteanu <[email protected]> AuthorDate: Fri Aug 7 13:44:20 2020 +0200 SLING-9620 - ResourceMapperImpl.getAllMappings does not respect multi-valued sling:alias Remove extra map() call from PathGenerator.cartesianJoin. --- .../sling/resourceresolver/impl/mapping/PathGenerator.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/PathGenerator.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/PathGenerator.java index 53b298c..7cf86d1 100644 --- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/PathGenerator.java +++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/PathGenerator.java @@ -40,27 +40,23 @@ public class PathGenerator { private static List<String> cartesianJoin(List<List<String>> segments, String toAppend) { - return cartesianJoin0(0, segments).stream() - .map ( sb -> { - if ( toAppend != null ) - sb.append(toAppend); - - return sb; - }) + return cartesianJoin0(0, segments, toAppend).stream() .map( StringBuilder::toString ) .collect( Collectors.toList() ); } - private static List<StringBuilder> cartesianJoin0(int index, List<List<String>> segments) { + private static List<StringBuilder> cartesianJoin0(int index, List<List<String>> segments, String toAppend) { List<StringBuilder> out = new ArrayList<>(); if ( index == segments.size() ) { out.add(new StringBuilder("/")); } else { for ( String segment : segments.get(index) ) { - for (StringBuilder sb : cartesianJoin0(index + 1, segments) ) { + for (StringBuilder sb : cartesianJoin0(index + 1, segments, toAppend) ) { sb.append(segment); if ( index != 0 ) sb.append('/'); + else if ( toAppend != null ) + sb.append(toAppend); out.add(sb); } }
