/** * Returns a template loader facade for the given file.<p> * @param cms the current OpenCms user context * @param resource the requested file * @param templateProperty the property to read for the template * * @return a resource loader facade for the given file * @throws CmsException if something goes wrong */ public CmsTemplateLoaderFacade getTemplateLoaderFacade(CmsObject cms, CmsResource resource, String templateProperty) throws CmsException { return getTemplateLoaderFacade(cms, null, resource, templateProperty); }
/** * Returns the template loader facade for the given resource.<p> * * @param cms the cms context * @param resource the resource * @param req the current request * * @return the loader facade * * @throws CmsException in case reading the template property fails */ protected CmsTemplateLoaderFacade getTemplateLoaderFacade( CmsObject cms, CmsResource resource, HttpServletRequest req) throws CmsException { return OpenCms.getResourceManager().getTemplateLoaderFacade( cms, req, resource, getTemplatePropertyDefinition()); }
/** * @see org.opencms.loader.I_CmsResourceLoader#export(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public byte[] export(CmsObject cms, CmsResource resource, HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException, CmsException { CmsTemplateLoaderFacade loaderFacade = OpenCms.getResourceManager().getTemplateLoaderFacade( cms, resource, getTemplatePropertyDefinition()); return loaderFacade.getLoader().export(cms, loaderFacade.getLoaderStartResource(), req, res); }
/** * @see org.opencms.loader.I_CmsResourceLoader#load(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void load(CmsObject cms, CmsResource resource, HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException, CmsException { // ensure the requested XML document gets cached in the request attributes unmarshalXmlDocument(cms, resource, req); CmsTemplateLoaderFacade loaderFacade = OpenCms.getResourceManager().getTemplateLoaderFacade( cms, resource, getTemplatePropertyDefinition()); loaderFacade.getLoader().load(cms, loaderFacade.getLoaderStartResource(), req, res); }
/** * @see org.opencms.loader.A_CmsXmlDocumentLoader#load(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override public void load(CmsObject cms, CmsResource resource, HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException, CmsException { CmsTemplateLoaderFacade loaderFacade = OpenCms.getResourceManager().getTemplateLoaderFacade( cms, req, resource, getTemplatePropertyDefinition()); CmsTemplateContext context = loaderFacade.getTemplateContext(); req.setAttribute(CmsTemplateContextManager.ATTR_TEMPLATE_CONTEXT, context); TemplateBean templateBean = new TemplateBean( context != null ? context.getKey() : loaderFacade.getTemplateName(), loaderFacade.getTemplate()); templateBean.setForced((context != null) && context.isForced()); req.setAttribute(CmsTemplateContextManager.ATTR_TEMPLATE_BEAN, templateBean); loaderFacade.getLoader().load(cms, loaderFacade.getLoaderStartResource(), req, res); }