/** * Sets content bean onto request. If no bean is found, *no* 404 response will be set. * NOTE: Only bean defined through component interface is used unlike within * {@code setContentBean()} method * * @param documentPath document (content) path * @param request HstRequest * @param response HstResponse * @see #setContentBean(String, org.hippoecm.hst.core.component.HstRequest, org.hippoecm.hst.core.component.HstResponse) */ public void setContentBeanForPath(final String documentPath, HstRequest request, final HstResponse response) { final HstRequestContext context = request.getRequestContext(); if (!Strings.isNullOrEmpty(documentPath)) { final HippoBean root = context.getSiteContentBaseBean(); request.setModel(REQUEST_ATTR_DOCUMENT, root.getBean(documentPath)); } }
/** * Sets content bean onto request. If no bean is found, 404 response will be set. * * @param request HstRequest * @param response HstResponse */ public void setContentBeanWith404(final HstRequest request, final HstResponse response) { final HstRequestContext context = request.getRequestContext(); final HippoBean bean = context.getContentBean(); if (bean == null) { pageNotFound(response); return; } request.setModel(REQUEST_ATTR_DOCUMENT, bean); }
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) { super.doBeforeRender(request, response); final EssentialsImageComponentInfo paramInfo = getComponentParametersInfo(request); final String documentPath = paramInfo.getDocument(); log.debug("Calling EssentialsImageComponent for document path: [{}]", documentPath); if (!Strings.isNullOrEmpty(documentPath)) { try { final Object image = RequestContextProvider.get().getObjectBeanManager().getObject(documentPath); request.setModel(REQUEST_ATTR_DOCUMENT, image); } catch (ObjectBeanManagerException e) { if (log.isDebugEnabled()) { log.error("Error getting image", e); } } } request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); } }
/** * Sets content bean onto request. If no bean is found, *no* 404 response will be set. * NOTE: we first check if document is set through component interface, * otherwise we try o fetch mapped (sitemap) bean * * @param documentPath document (content) path * @param request HstRequest * @param response HstResponse * @see #pageNotFound(org.hippoecm.hst.core.component.HstResponse) */ public void setContentBean(final String documentPath, HstRequest request, final HstResponse response) { final HstRequestContext context = request.getRequestContext(); HippoBean bean; if (!Strings.isNullOrEmpty(documentPath)) { final HippoBean root = context.getSiteContentBaseBean(); bean = root.getBean(documentPath); } else { bean = context.getContentBean(); } request.setModel(REQUEST_ATTR_DOCUMENT, bean); }
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) { super.doBeforeRender(request, response); final EssentialsMenuComponentInfo paramInfo = getComponentParametersInfo(request); String siteMenu = paramInfo.getSiteMenu(); if (Strings.isNullOrEmpty(siteMenu)) { log.warn("No site menu is selected within EssentialsMenuComponent nor set as a component parameter (menuName)"); return; } siteMenu = CharMatcher.WHITESPACE.trimFrom(siteMenu); final HstSiteMenu menu = request.getRequestContext().getHstSiteMenus().getSiteMenu(siteMenu); if (menu == null) { log.warn("Invalid site menu is selected within EssentialsMenuComponent: {}", siteMenu); return; } log.debug("Using site menu:[{}]", siteMenu); request.setModel("menu", menu); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); } }
/** * Populates request with search results * * @param request HstRequest * @param paramInfo EssentialsPageable instance * @param pageable search results (Pageable<HippoBean>) * @see CommonComponent#REQUEST_ATTR_QUERY * @see CommonComponent#REQUEST_ATTR_PAGEABLE * @see CommonComponent#REQUEST_ATTR_PAGE */ protected void populateRequest(final HstRequest request, final EssentialsPageable paramInfo, final Pageable<? extends HippoBean> pageable) { request.setAttribute(REQUEST_ATTR_QUERY, getSearchQuery(request)); request.setModel(REQUEST_ATTR_PAGEABLE, pageable); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); if (pageable != null) { pageable.setShowPagination(isShowPagination(request, paramInfo)); } }
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) { super.doBeforeRender(request, response); setComponentId(request, response); final EssentialsCarouselComponentInfo paramInfo = getComponentParametersInfo(request); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); final List<HippoDocument> items = getCarouselItems(paramInfo); request.setModel(REQUEST_ATTR_PAGEABLE, new DefaultPagination<>(items)); }
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) { final EssentialsListPickerComponentInfo paramInfo = getComponentParametersInfo(request); final List<HippoDocument> documentItems = getDocumentItems(paramInfo); final int pageSize = getPageSize(request, paramInfo); final int page = getAnyIntParameter(request, REQUEST_PARAM_PAGE, 1); final Pageable<HippoDocument> pageable = getPageableFactory().createPageable(documentItems, page, pageSize); request.setModel(REQUEST_ATTR_PAGEABLE, pageable); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); }
request.setModel("authors", authors); final Class<? extends HippoBean> clazz = getPrimaryType(context, document); final EssentialsBlogAuthorPostsComponentInfo paramInfo = getComponentParametersInfo(request); request.setModel(REQUEST_ATTR_PAGEABLE, pageable); } catch (QueryException e) { log.error("Error fetching posts by authors", e);
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) { super.doBeforeRender(request, response); final EssentialsFacetsComponentInfo paramInfo = getComponentParametersInfo(request); final HstRequestContext context = request.getRequestContext(); String facetPath = paramInfo.getFacetPath(); // check if component is used through sitemap mapping: if (Strings.isNullOrEmpty(facetPath)) { final HippoBean bean = context.getContentBean(); if (bean != null) { facetPath = bean.getPath(); } } final String queryParam = cleanupSearchQuery(getAnyParameter(request, REQUEST_PARAM_QUERY)); final HippoFacetNavigationBean hippoFacetNavigationBean = getFacetNavigationBean(context, facetPath, queryParam); request.setAttribute(REQUEST_ATTR_QUERY, queryParam); request.setModel(REQUEST_ATTR_FACETS, hippoFacetNavigationBean); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); }