File tree Expand file tree Collapse file tree
core/src/main/java/dev/vml/es/acm/core Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package dev .vml .es .acm .core .repo ;
22
3- import dev .vml .es .acm .core .util .StreamUtils ;
3+ import dev .vml .es .acm .core .util .JcrUtils ;
44import java .util .stream .Stream ;
55import javax .jcr .Node ;
66import javax .jcr .RepositoryException ;
@@ -177,15 +177,13 @@ public Stream<RepoResource> queryRaw(String sql) {
177177 Query query = queryManager .createQuery (sql , Query .JCR_SQL2 );
178178 QueryResult result = query .execute ();
179179
180- return StreamUtils .asNodeStream (result .getNodes ()).map (n -> {
180+ return JcrUtils .asNodeStream (result .getNodes ()).map (n -> {
181181 try {
182182 return new RepoResource (this , n .getPath ());
183183 } catch (RepositoryException e ) {
184184 throw new RepoException ("Cannot read node path from query result!" , e );
185185 }
186186 });
187- } catch (RepoException e ) {
188- throw e ;
189187 } catch (Exception e ) {
190188 throw new RepoException (String .format ("Cannot execute raw query '%s'!" , sql ), e );
191189 }
Original file line number Diff line number Diff line change 1+ package dev .vml .es .acm .core .util ;
2+
3+ import java .util .Iterator ;
4+ import java .util .stream .Stream ;
5+ import javax .jcr .Node ;
6+ import javax .jcr .NodeIterator ;
7+
8+ public class JcrUtils {
9+
10+ public static Stream <Node > asNodeStream (NodeIterator nodeIterator ) {
11+ if (nodeIterator == null ) {
12+ return Stream .empty ();
13+ }
14+ return StreamUtils .asStream (new Iterator <Node >() {
15+ @ Override
16+ public boolean hasNext () {
17+ return nodeIterator .hasNext ();
18+ }
19+
20+ @ Override
21+ public Node next () {
22+ return nodeIterator .nextNode ();
23+ }
24+ });
25+ }
26+ }
Original file line number Diff line number Diff line change 44import java .util .Iterator ;
55import java .util .stream .Stream ;
66import java .util .stream .StreamSupport ;
7- import javax .jcr .Node ;
8- import javax .jcr .NodeIterator ;
97
108public class StreamUtils {
119
@@ -14,6 +12,9 @@ public static <T> Stream<T> asStream(Iterator<T> sourceIterator) {
1412 }
1513
1614 public static <T > Stream <T > asStream (Iterator <T > sourceIterator , boolean parallel ) {
15+ if (sourceIterator == null ) {
16+ return Stream .empty ();
17+ }
1718 Iterable <T > iterable = () -> sourceIterator ;
1819 return StreamSupport .stream (iterable .spliterator (), parallel );
1920 }
@@ -34,21 +35,4 @@ public T next() {
3435 }
3536 });
3637 }
37-
38- public static Stream <Node > asNodeStream (NodeIterator nodeIterator ) {
39- if (nodeIterator == null ) {
40- return Stream .empty ();
41- }
42- return asStream (new Iterator <Node >() {
43- @ Override
44- public boolean hasNext () {
45- return nodeIterator .hasNext ();
46- }
47-
48- @ Override
49- public Node next () {
50- return nodeIterator .nextNode ();
51- }
52- });
53- }
5438}
You can’t perform that action at this time.
0 commit comments