/** * Public constructor.<p> * * @param linkSubstitutionHandler the link substitution handler to use */ public CmsLinkManager(I_CmsLinkSubstitutionHandler linkSubstitutionHandler) { m_linkSubstitutionHandler = linkSubstitutionHandler; if (m_linkSubstitutionHandler == null) { // just make very sure that this is not null m_linkSubstitutionHandler = new CmsDefaultLinkSubstitutionHandler(); } }
/** * @see org.opencms.staticexport.I_CmsLinkSubstitutionHandler#getRootPath(org.opencms.file.CmsObject, java.lang.String, java.lang.String) */ public String getRootPath(CmsObject cms, String targetUri, String basePath) { String result = getSimpleRootPath(cms, targetUri, basePath); String detailRootPath = getDetailRootPath(cms, result); if (detailRootPath != null) { result = detailRootPath; } return result; }
return getLink(cms, link, siteRoot, null, forceSecure);
} else { CmsPair<String, String> uriParamPair = addVfsPrefix(cms, oriUri, targetSite, parameters); uriBaseName = uriParamPair.getFirst(); parameters = uriParamPair.getSecond(); String cacheKey = generateCacheKey(cms, targetSiteRoot, detailPagePart, absoluteLink); resultLink = exportManager.getCachedOnlineLink(cacheKey); if (resultLink == null) { parameters = prepareExportParameters(cms, vfsName, parameters); } else { CmsPair<String, String> uriParamPair = addVfsPrefix(cms, vfsName, targetSite, parameters); resultLink = uriParamPair.getFirst(); parameters = uriParamPair.getSecond(); secureLink = isSecureLink(cms, vfsName, targetSite, secureRequest); } else { secureLink = isDetailPageLinkSecure( cms, detailPage, CmsPair<String, String> uriParamPair = addVfsPrefix(cms, vfsName, targetSite, parameters); resultLink = uriParamPair.getFirst(); parameters = uriParamPair.getSecond();
uri = new URI(targetUri); path = uri.getPath(); suffix = getSuffix(uri); } catch (Exception e) { if (LOG.isWarnEnabled()) { String targetSiteRoot = OpenCms.getSiteManager().getSiteRoot(path); if (targetSiteRoot != null) { selectedPath = getRootPathForSite(cms, path, targetSiteRoot, true); } else { selectedPath = getRootPathForSite(cms, path, cms.getRequestContext().getSiteRoot(), false); String pathForMatchedSite = getRootPathForSite( cms, path, return getRootPathForSite( cms, path + suffix, String targetSiteRoot = getTargetSiteRoot(cms, path, basePath); return getRootPathForSite( cms, path + suffix, String targetSiteRoot = getTargetSiteRoot(cms, path, basePath); return getRootPathForSite(
return super.getRootPath(cms, targetUri, basePath);
/** * @see org.opencms.staticexport.CmsDefaultLinkSubstitutionHandler#getRootPathForSite(org.opencms.file.CmsObject, java.lang.String, java.lang.String, boolean) */ @Override protected String getRootPathForSite(CmsObject cms, String path, String siteRoot, boolean isRootPath) { CmsSite site = OpenCms.getSiteManager().getSiteForSiteRoot(siteRoot); if ((site != null) && CmsSite.LocalizationMode.singleTree.equals(site.getLocalizationMode())) { if (isRootPath) { path = path.substring(site.getSiteRoot().length()); } Locale locale = CmsSingleTreeLocaleHandler.getLocaleFromPath(path); if (locale != null) { path = path.substring(locale.toString().length() + 1); } return cms.getRequestContext().addSiteRoot(site.getSiteRoot(), path); } else { return super.getRootPathForSite(cms, path, siteRoot, isRootPath); } }
parameters); } else { return super.addVfsPrefix(cms, vfsName, targetSite, parameters);
return detailResource.getRootPath() + getSuffix(uri); } catch (Exception e) { LOG.error(e.getLocalizedMessage(), e);
/** * Public constructor.<p> * * @param linkSubstitutionHandler the link substitution handler to use */ public CmsLinkManager(I_CmsLinkSubstitutionHandler linkSubstitutionHandler) { m_linkSubstitutionHandler = linkSubstitutionHandler; if (m_linkSubstitutionHandler == null) { // just make very sure that this is not null m_linkSubstitutionHandler = new CmsDefaultLinkSubstitutionHandler(); } }
/** * @see org.opencms.staticexport.CmsDefaultLinkSubstitutionHandler#getLink(org.opencms.file.CmsObject, java.lang.String, java.lang.String, boolean) */ @Override public String getLink(CmsObject cms, String link, String siteRoot, boolean forceSecure) { if (isExcluded(cms, link)) { return link; } return super.getLink(cms, link, siteRoot, forceSecure); }
/** * Initialize member variables.<p> */ protected void initMembers() { synchronized (LOCK) { m_resourceInitHandlers = new ArrayList<I_CmsResourceInit>(); m_requestHandlers = new HashMap<String, I_CmsRequestHandler>(); m_systemInfo = new CmsSystemInfo(); m_exportPoints = Collections.emptySet(); m_defaultUsers = new CmsDefaultUsers(); m_localeManager = new CmsLocaleManager(Locale.ENGLISH); m_sessionManager = new CmsSessionManager(); m_runtimeProperties = new Hashtable<Object, Object>(); // the default event manager must be available because the configuration already registers events m_eventManager = new CmsEventManager(); // default link manager is required for test cases m_linkManager = new CmsLinkManager(new CmsDefaultLinkSubstitutionHandler()); } }
/** * Initialize member variables.<p> */ protected void initMembers() { synchronized (LOCK) { m_resourceInitHandlers = new ArrayList(); m_requestHandlers = new HashMap(); m_systemInfo = new CmsSystemInfo(); m_exportPoints = Collections.EMPTY_SET; m_defaultUsers = new CmsDefaultUsers(); m_localeManager = new CmsLocaleManager(Locale.ENGLISH); m_sessionManager = new CmsSessionManager(); m_runtimeProperties = new Hashtable(); // the default event manager must be available because the configuration already registers events m_eventManager = new CmsEventManager(); // default link manager is required for test cases m_linkManager = new CmsLinkManager(new CmsDefaultLinkSubstitutionHandler()); } }