From 2dd5fd5cb78ab70c5d086a715951517728f4ae49 Mon Sep 17 00:00:00 2001 From: eschleb Date: Wed, 17 Jan 2024 16:48:14 +0100 Subject: [PATCH] Exclude metadata nodes from child streams --- .../com/merkle/oss/magnolia/powernode/NodeService.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/powernode-base/src/main/java/com/merkle/oss/magnolia/powernode/NodeService.java b/powernode-base/src/main/java/com/merkle/oss/magnolia/powernode/NodeService.java index 9fced80..6f91663 100644 --- a/powernode-base/src/main/java/com/merkle/oss/magnolia/powernode/NodeService.java +++ b/powernode-base/src/main/java/com/merkle/oss/magnolia/powernode/NodeService.java @@ -19,6 +19,13 @@ import java.util.stream.StreamSupport; public class NodeService { + private static final Predicate EXCLUDE_META_DATA_FILTER = node -> { + try { + return !node.getName().startsWith(NodeTypes.JCR_PREFIX) && !NodeUtil.isNodeType(node, NodeTypes.MetaData.NAME); + }catch (RepositoryException e) { + return false; + } + }; private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private final LocalizedNameProvider localizedNameProvider; private final NodeNameHelper nodeNameHelper; @@ -196,7 +203,8 @@ public Stream streamChildren(final Node node) { .map(nodeIterator -> (Iterator)nodeIterator) .flatMap(nodeIterator -> StreamSupport.stream(Spliterators.spliteratorUnknownSize(nodeIterator, Spliterator.ORDERED), false) - ); + ) + .filter(EXCLUDE_META_DATA_FILTER); } public Stream streamChildren(final Node node, final Predicate predicate) {