X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.jcr%2Fsrc%2Forg%2Fargeo%2Fjcr%2Ffs%2FNodeDirectoryStream.java;h=eda07a548eff2355876c4f3943db53cf3492b02b;hb=2afabd9e7b225f80b341063e25188314394c9aef;hp=84dd22d6ae8f4951824f3a808a85aa27e33517dd;hpb=6d8432bcf931c7525ecc4254b2a95e8a413a06f1;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.jcr/src/org/argeo/jcr/fs/NodeDirectoryStream.java b/org.argeo.jcr/src/org/argeo/jcr/fs/NodeDirectoryStream.java index 84dd22d6a..eda07a548 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/fs/NodeDirectoryStream.java +++ b/org.argeo.jcr/src/org/argeo/jcr/fs/NodeDirectoryStream.java @@ -11,11 +11,14 @@ import javax.jcr.NodeIterator; public class NodeDirectoryStream implements DirectoryStream { private final JcrFileSystem fs; private final NodeIterator nodeIterator; + private final Iterator additionalPaths; private final Filter filter; - public NodeDirectoryStream(JcrFileSystem fs, NodeIterator nodeIterator, Filter filter) { + public NodeDirectoryStream(JcrFileSystem fs, NodeIterator nodeIterator, Iterator additionalPaths, + Filter filter) { this.fs = fs; this.nodeIterator = nodeIterator; + this.additionalPaths = additionalPaths; this.filter = filter; } @@ -50,6 +53,12 @@ public class NodeDirectoryStream implements DirectoryStream { throw new JcrFsException("Could not get next path", e); } } + + if (next == null) { + if (additionalPaths.hasNext()) + next = additionalPaths.next(); + } + return next != null; }