private Stream get10Related()

in core/src/main/java/org/apache/sling/cms/core/models/StartContent.java [100:126]


    private Stream<Row> get10Related(ResourceResolver resolver, String term) {
        Session session = resolver.adaptTo(Session.class);
        if (session != null) {
            try {
                Query query = session.getWorkspace().getQueryManager()
                        .createQuery(
                                "SELECT * FROM [nt:hierarchyNode] AS s WHERE ISDESCENDANTNODE([/content]) AND CONTAINS(s.*,'"
                                        + term.replace("'", "''") + "')",
                                Query.JCR_SQL2);
                query.setLimit(10);
                QueryResult result = query.execute();
                @SuppressWarnings("unchecked")
                Iterable<Row> iterable = () -> {
                    try {
                        return result.getRows();
                    } catch (RepositoryException e) {
                        log.warn("Failed to get iterator", e);
                    }
                    return null;
                };
                return StreamSupport.stream(iterable.spliterator(), false).limit(10);
            } catch (RepositoryException e) {
                log.warn("Exception searching for related content", e);
            }
        }
        return new ArrayList<Row>().stream();
    }