/** * Returns the current CMS context.<p> * * @return the CMS context */ private CmsObject getCmsObject() { CmsFlexController controller = CmsFlexController.getController(pageContext.getRequest()); return controller.getCmsObject(); }
/** * Sets the content type for the HTTP response.<p> * * This method is required since JSP's are handled in a special way for included template elements, * so {@link javax.servlet.ServletResponse#setContentType(java.lang.String)} won't work.<p> * * Please note that the content type set this way is never cached in the Flex cache, * so you must make sure to not cache the element when you use this method.<p> * * @param type the type to set * * @see javax.servlet.ServletResponse#setContentType(java.lang.String) */ public void setContentType(String type) { // set the content type on the top level response m_controller.getTopResponse().setContentType(type); }
if (top) { controller = CmsFlexController.getController(req); controller = new CmsFlexController(cms, resource, m_cache, req, res, streaming, top); CmsFlexController.setController(req, controller); CmsFlexRequest f_req = new CmsFlexRequest(req, controller); CmsFlexResponse f_res = new CmsFlexResponse(res, controller, streaming, true); controller.push(f_req, f_res); } else if (controller.isForwardMode()) { controller = new CmsFlexController(cms, controller); CmsFlexController.setController(req, controller);
/** * Wrapper for the standard servlet API call.<p> * * Forward calls are actually NOT wrapped by OpenCms as of now. * So they should not be used in JSP pages or servlets.<p> * * @param req the servlet request * @param res the servlet response * @throws ServletException in case something goes wrong * @throws IOException in case something goes wrong * * @see javax.servlet.RequestDispatcher#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ public void forward(ServletRequest req, ServletResponse res) throws ServletException, IOException { CmsFlexController controller = CmsFlexController.getController(req); controller.setForwardMode(true); m_rd.forward(req, res); }
CmsFlexRequest f_req = controller.getCurrentRequest(); CmsFlexResponse f_res = controller.getCurrentResponse(); try { f_req.getRequestDispatcher(controller.getCmsObject().getSitePath(controller.getCmsResource())).include( f_req, f_res); HttpServletResponse res = controller.getTopResponse(); if (!controller.isStreaming() && !f_res.isSuspended()) { try { if (controller.isTop() && !isWorkplaceUser && CmsFlexController.isNotModifiedSince(f_req, controller.getDateLastModified())) { if (f_req.getParameterMap().size() == 0) { CmsFlexController.setDateExpiresHeader( res, controller.getDateExpires(), m_clientCacheMaxAge); HttpServletRequest req = controller.getTopRequest(); if (req.getHeader(CmsRequestUtil.HEADER_OPENCMS_EXPORT) != null) { new Long(controller.getDateLastModified())); } else if (controller.isTop()) { CmsFlexController.setDateLastModifiedHeader(res, controller.getDateLastModified());
HttpServletResponse res = CmsFlexController.getController(getJsp().getRequest()).getTopResponse(); res.setContentType("application/octet-stream"); res.setHeader(
/** * Returns a link to a file in the OpenCms VFS * that has been adjusted according to the web application path and the * OpenCms static export rules.<p> * * Since OpenCms version 7.0.2, you can also use this method in case you are not sure * if the link is internal or external, as * {@link CmsLinkManager#substituteLinkForUnknownTarget(org.opencms.file.CmsObject, String)} * is used to calculate the link target.<p> * * Relative links are converted to absolute links, using the current element URI as base.<p> * * @param target the link that should be calculated, can be relative or absolute * @param req the current request * * @return the target link adjusted according to the web application path and the OpenCms static export rules * * @see org.opencms.staticexport.CmsLinkManager#substituteLinkForUnknownTarget(org.opencms.file.CmsObject, String) */ public static String linkTagAction(String target, ServletRequest req) { CmsFlexController controller = CmsFlexController.getController(req); return OpenCms.getLinkManager().substituteLinkForUnknownTarget( controller.getCmsObject(), CmsLinkManager.getAbsoluteUri(target, controller.getCurrentRequest().getElementUri())); }
CmsFlexCache cache = controller.getCmsCache(); CmsFlexRequest f_req = controller.getCurrentRequest(); CmsFlexResponse f_res = controller.getCurrentResponse(); controller.push(w_req, w_res); controller.updateDates(entry.getDateLastModified(), entry.getDateExpires()); entry.service(w_req, w_res); } catch (CmsException e) { t = controller.setThrowable(e, m_vfsTarget); throw new ServletException(Messages.get().getBundle().key( Messages.ERR_FLEXREQUESTDISPATCHER_ERROR_LOADING_RESOURCE_FROM_CACHE_1, controller.setThrowable(e, m_vfsTarget); throw new ServletException(Messages.get().getBundle().key( Messages.ERR_FLEXREQUESTDISPATCHER_ERROR_LOADING_CACHE_PROPERTIES_1, w_res.setCmsCachingRequired(!controller.isForwardMode() && (variation != null)); controller.setThrowable(e, m_vfsTarget); throw new ServletException(Messages.get().getBundle().key( Messages.ERR_FLEXREQUESTDISPATCHER_CLASSCAST_EXCEPTION_1, controller.setThrowable(e, m_vfsTarget); throw new ServletException(Messages.get().getBundle().key( Messages.ERR_FLEXREQUESTDISPATCHER_ERROR_READING_RESOURCE_1,
CmsFlexController controller = CmsFlexController.getController(req); CmsFlexController oldController = null; controller.getCurrentRequest().addParameterMap(parameters); CmsFlexController.removeController(req); } finally { if ((oldController != null) && (controller != null)) { oldController.updateDates(controller.getDateLastModified(), controller.getDateExpires()); CmsFlexController.setController(req, oldController);
if (m_controller.getResponseStackSize() > 2) { m_controller.getCmsResource().getRootPath(), m_controller.getCurrentRequest().getElementUri(), location)); HttpServletResponse topRes = m_controller.getTopResponse(); m_controller.suspendFlexResponse();
CmsFlexController controller = CmsFlexController.getController(req); parameterMap, DIRECT_EDIT_PARAM_LOCALE, controller.getCmsObject().getRequestContext().getLocale().toString(), true); CmsUserSettings settings = new CmsUserSettings(controller.getCmsObject()); CmsJspTagInclude.addParameter( parameterMap, Map oldParameterMap = controller.getCurrentRequest().getParameterMap(); controller.getCurrentRequest().addParameterMap(parameterMap); context.getOut().print(CmsFlexResponse.FLEX_CACHE_DELIMITER); controller.getCurrentResponse().addToIncludeList(jspIncludeFile, parameterMap); controller.getCurrentRequest().getRequestDispatcher(jspIncludeFile).include(req, res); t = e; t = controller.setThrowable(t, jspIncludeFile); throw new JspException(t); } catch (IOException e) { Throwable t = controller.setThrowable(e, jspIncludeFile); throw new JspException(t); } finally { controller.getCurrentRequest().setParameterMap(oldParameterMap);
CmsFlexController ori = CmsFlexController.getController(getRequest()); CmsFlexController controller = new CmsFlexController( clone, clone.readResource(relPath), ori.getCmsCache(), getRequest(), getResponse(), false); CmsFlexController.setController(getRequest(), controller); CmsFlexRequest f_req = new CmsFlexRequest(getRequest(), controller); CmsFlexResponse f_res = new CmsFlexResponse(getResponse(), controller, false, false); controller.push(f_req, f_res);
/** * @see org.opencms.loader.I_CmsResourceLoader#service(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ public void service(CmsObject cms, CmsResource resource, ServletRequest req, ServletResponse res) throws ServletException, IOException, CmsLoaderException { CmsFlexController controller = CmsFlexController.getController(req); // get JSP target name on "real" file system String target = updateJsp(resource, controller, new HashSet(8)); // important: Indicate that all output must be buffered controller.getCurrentResponse().setOnlyBuffering(true); // dispatch to external file controller.getCurrentRequest().getRequestDispatcherToExternal(cms.getSitePath(resource), target).include( req, res); }
CmsFlexController controller = CmsFlexController.getController(pageContext.getRequest()); if (supportedDevices.contains(selectedDevice)) { HttpServletRequest req = controller.getTopRequest(); String device = (String)req.getAttribute(I_CmsJspDeviceSelector.REQUEST_ATTRIBUTE_DEVICE); Messages.LOG_WRONG_DEVICE_TYPE_2, selectedDevice, controller.getCurrentRequest().getElementUri()));
CmsObject cms = m_controller.getCmsObject(); m_elementUri = cms.getSitePath(m_controller.getCmsResource()); m_elementUriSiteRoot = cms.getRequestContext().getSiteRoot(); m_includeCalls = new Vector(); if (OpenCms.getRoleManager().hasRole(cms, CmsRole.WORKPLACE_MANAGER)) { List paramList = Arrays.asList(params); boolean firstCall = controller.isEmptyRequestList(); nocachepara |= paramList.contains("nocache"); dorecompile = paramList.contains("recompile"); m_canCache = (((m_isOnline || m_controller.getCmsCache().cacheOffline()) && !nocachepara) || dorecompile); m_doRecompile = dorecompile; if (LOG.isDebugEnabled()) {
if (bypass || controller.isForwardMode()) { controller.setForwardMode(true); req.getRequestDispatcher(target).forward(controller.getCurrentRequest(), res); } else { if (!controller.isForwardMode()) { CmsFlexController.removeController(req);
/** * Initialize this bean with the current page context, request and response.<p> * * It is required to call one of the init() methods before you can use the * instance of this bean. * * @param context the JSP page context object * @param req the JSP request * @param res the JSP response */ public void init(PageContext context, HttpServletRequest req, HttpServletResponse res) { m_controller = CmsFlexController.getController(req); if (m_controller == null) { handleMissingFlexController(); } m_context = context; m_request = req; m_response = res; m_isNotInitialized = false; }
/** * Returns the CmsObject from the wrapped request.<p> * * This is a convenience method in case you need access to * the CmsObject in your JSP scriplets.<p> * * @return the CmsObject from the wrapped request */ public CmsObject getCmsObject() { if (m_isNotInitialized) { return null; } return m_controller.getCmsObject(); }
controller.getCurrentResponse().addToIncludeList(target, parameterMap); controller.getCurrentRequest().getRequestDispatcher(target).include(req, res); } catch (ServletException e) { t = controller.setThrowable(t, target); throw new JspException(t); } catch (IOException e) { Throwable t = controller.setThrowable(e, target); throw new JspException(t);
CmsFlexController controller = (CmsFlexController)getJsp().getRequest().getAttribute( CmsFlexController.ATTRIBUTE_NAME); CmsFlexCache cache = controller.getCmsCache();