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();
}