/** * * @param ctx the {@link HstRequestContext} * @return the {@link HstQueryManager} * @see {@link #getQueryManager(HstRequest)} and {@link #getQueryManager(Session)} * @deprecated since 7.9.0 : use {@link org.hippoecm.hst.core.request.HstRequestContext#getQueryManager()} instead */ @Deprecated public HstQueryManager getQueryManager(HstRequestContext ctx) { return ctx.getQueryManager(); }
/** * @param session the {@link Session} * @return the {@link HstQueryManager} * @see {@link #getQueryManager(HstRequestContext)} and {@link #getQueryManager(HstRequest)} * @deprecated since 7.9.0 : use {@link org.hippoecm.hst.core.request.HstRequestContext#getQueryManager(Session)} instead */ @Deprecated public HstQueryManager getQueryManager(Session session) { return RequestContextProvider.get().getQueryManager(session); }
/** * @return The {@code HstQuery} for this {@code HstQueryBuilder} where the backing {@code HstQueryManager} is taken * from {@link HstRequestContext#getQueryManager()} * @throws RuntimeQueryException in case the #build results in a {@link QueryException} or {@link FilterException} */ public HstQuery build() throws RuntimeQueryException { final HstRequestContext requestContext = RequestContextProvider.get(); return build(requestContext.getQueryManager()); }
@Override @Nullable public HstQuery build() { if (scope == null) { siteScope(); } final HstRequestContext context = request.getRequestContext(); final HstQueryManager manager = context.getQueryManager(); try { @SuppressWarnings("unchecked") final Class<? extends HippoBean>[] classes = mappings.toArray(new Class[mappings.size()]); @SuppressWarnings("unchecked") final HstQuery query = manager.createQuery(scope, classes); query.setLimit(size); query.setOffset(size * (page - 1)); if (filters != null && filters.size() > 0) { final Filter root = query.createFilter(); for (Filter filter : filters) { root.addAndFilter(filter); } query.setFilter(root); } return query; } catch (QueryException e) { log.error("Error creating HST query", e); } return null; }
final HstQuery query = requestContext.getQueryManager().createQuery(scope, beanMappingClass, includeSubTypes); final Filter filter = query.createFilter(); for (String linkPath : linkPaths) {