/** * Resolves with the help of the current resolvedSiteMapItem to a new sitemap item with path <code>pathInfo</code> * @param request * @param response * @param currentResolvedSiteMapItem * @param pathInfo * @throws MatchException when the <code>pathInfo</code> cannot be matched * @return a new ResolvedSiteMapItem */ public ResolvedSiteMapItem matchSiteMapItem(HttpServletRequest request, HttpServletResponse response, ResolvedSiteMapItem currentResolvedSiteMapItem, String pathInfo) throws MatchException { return currentResolvedSiteMapItem.getResolvedSiteMount().matchSiteMapItem(pathInfo); }
/** * @param resolvedSiteMapItem * @return the HstURLFactory */ public HstURLFactory getURLFactory(ResolvedSiteMapItem resolvedSiteMapItem) { HstURLFactory factory = resolvedSiteMapItem.getResolvedSiteMount().getResolvedVirtualHost().getVirtualHost().getVirtualHosts().getVirtualHostsManager().getUrlFactory(); return factory; } }
public Credentials getDefaultCredentials(HstRequestContext requestContext) { Credentials credentials = super.getDefaultCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getSiteMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); if (requestContext.isPreview()) { credentials = defaultCredentialsForPreviewModeCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsForPreviewModeCache.put(userIDWithSiteName, credentials); } } else { credentials = defaultCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsCache.put(userIDWithSiteName, credentials); } } } return credentials; }
public Credentials getWritableCredentials(HstRequestContext requestContext) { Credentials credentials = super.getWritableCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getSiteMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); credentials = writableCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); writableCredentialsCache.put(userIDWithSiteName, credentials); } } return credentials; } }
protected String resolveEmbeddedDispatchURL(PortletRequest request, PortletResponse response) { HstPortalContextProvider pcp = getPortalContextProvider(request); HstPortalRequestContext prc = pcp != null ? pcp.getPortalRequestContext(request) : null; ResolvedSiteMapItem rsmi = prc != null ? prc.getResolvedSiteMapItem() : null; HstComponentConfiguration hcc = rsmi != null ? rsmi.getHstComponentConfiguration() : null; if (hcc != null) { HstMutablePortletRequestContext hrc = createHstRequestContext(request, response); hrc.setTargetComponentPath(request.getPreferences().getValue(HST_COMPONENT_PATH, defaultHstComponentPath)); hrc.setEmbeddingContextPath(prc.getEmbeddingContextPath()); hrc.setResolvedEmbeddingSiteMount(prc.getResolvedEmbeddingSiteMount()); hrc.setResolvedSiteMount(rsmi.getResolvedSiteMount()); hrc.setResolvedSiteMapItem(rsmi); return new StringBuilder(rsmi.getResolvedSiteMount().getResolvedMountPath()).append("/").append(rsmi.getPathInfo()).toString(); } return null; } }
public String toUrlForm(HstRequest request, HstResponse response, boolean external) { String characterEncoding = response.getCharacterEncoding(); if (characterEncoding == null) { characterEncoding = "UTF-8"; } if(path == null) { log.warn("Unable to rewrite link. Return EVAL_PAGE"); return null; } String urlString = null; if (this.containerResource) { HstURL hstUrl = response.createResourceURL(ContainerConstants.CONTAINER_REFERENCE_NAMESPACE); hstUrl.setResourceID(path); urlString = hstUrl.toString(); } else { urlString = response.createNavigationalURL(path).toString(); } if(external) { VirtualHost vhost = request.getRequestContext().getResolvedSiteMapItem().getResolvedSiteMount().getSiteMount().getVirtualHost(); urlString = vhost.getBaseURL(request) + urlString; } return urlString; }
public ResolvedSiteMapItem resolveToSiteMapItem(HstRequest request) { if(this.resolvedSiteMapItem != null) { return resolvedSiteMapItem.resolvedItem; } if(this.getHstLink() == null || this.getHstLink().getPath() == null || "".equals(this.getHstLink().getPath())) { HstServices.getLogger(getClass().getName()).warn("Cannot resolve to sitemap item because HstLink is null or empty. Return null"); return null; } HstRequestContext ctx = request.getRequestContext(); try { resolvedSiteMapItem = new ResolvedSiteMapItemWrapper(ctx.getSiteMapMatcher().match(this.getHstLink().getPath(), ctx.getResolvedSiteMapItem().getResolvedSiteMount())); } catch (NotFoundException e) { HstServices.getLogger(getClass().getName()).warn("Cannot resolve to sitemap item because '{}'. Return null.", e.getMessage()); return null; } return resolvedSiteMapItem.resolvedItem; }
ResolvedSiteMount resolvedSiteMount = hstRequest.getRequestContext().getResolvedSiteMapItem().getResolvedSiteMount(); if(preferItemId != null) { if(siteMapItem != null) {
req.removeAttribute(ContainerConstants.HST_FORWARD_PATH_INFO); resolvedSiteMapItem = resolvedSiteMapItem.getResolvedSiteMount().matchSiteMapItem(forwardPathInfo); if(resolvedSiteMapItem == null) {
ResolvedVirtualHost rvh = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getResolvedVirtualHost(); String targetContextPath = requestContext.isEmbeddedRequest() ? requestContext.getEmbeddingContextPath() : baseURL.getContextPath(); ResolvedSiteMount mount = rvh.matchSiteMount(targetContextPath, location);