public MutableAttributeMap<Object> getScope(RequestContext context) { return context.getFlashScope(); } },
protected MutableAttributeMap<Object> getScope() { return getRequiredRequestContext().getFlashScope(); } }
/** * Exposes the given flow exception and root cause in flash scope to make them available for response rendering. * Subclasses can override this if they want to expose the exceptions in a different way or do special processing * before the exceptions are exposed. * @param context the request control context * @param exception the exception being handled * @param rootCause root cause of the exception being handled (could be null) */ protected void exposeException(RequestContext context, FlowExecutionException exception, Throwable rootCause) { // note that all Throwables are Serializable so putting them in flash // scope should not be a problem context.getFlashScope().put(FLOW_EXECUTION_EXCEPTION_ATTRIBUTE, exception); if (logger.isDebugEnabled()) { logger.debug("Exposing flow execution exception root cause " + rootCause + " under attribute '" + ROOT_CAUSE_EXCEPTION_ATTRIBUTE + "'"); } context.getFlashScope().put(ROOT_CAUSE_EXCEPTION_ATTRIBUTE, rootCause); }
protected Event doExecute(RequestContext context) throws Exception { String[] fragments = new String[fragmentExpressions.length]; for (int i = 0; i < fragmentExpressions.length; i++) { Expression exp = fragmentExpressions[i]; fragments[i] = (String) exp.getValue(context); } context.getFlashScope().put(View.RENDER_FRAGMENTS_ATTRIBUTE, fragments); return success(); }
private void clearFlash(RequestContext context) { context.getFlashScope().clear(); context.getMessageContext().clearMessages(); }
protected String[] getRenderFragments(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) { RequestContext context = RequestContextHolder.getRequestContext(); if (context == null) { return super.getRenderFragments(model, request, response); } String[] fragments = (String[]) context.getFlashScope().get(View.RENDER_FRAGMENTS_ATTRIBUTE); if (fragments == null) { return super.getRenderFragments(model, request, response); } return fragments; }
public Class<?> getType(ELContext elContext, Object base, Object property) { RequestContext requestContext = getRequestContext(); if (base != null || requestContext == null) { return null; } String attributeName = property.toString(); if (requestContext.getRequestScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getRequestScope().get(attributeName).getClass(); } else if (requestContext.getFlashScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getFlashScope().get(attributeName).getClass(); } else if (requestContext.inViewState() && requestContext.getViewScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getViewScope().get(attributeName).getClass(); } else if (requestContext.getFlowScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getFlowScope().get(attributeName).getClass(); } else if (requestContext.getConversationScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getConversationScope().get(attributeName).getClass(); } else { return null; } }
public boolean isReadOnly(ELContext elContext, Object base, Object property) { RequestContext requestContext = getRequestContext(); if (base != null || requestContext == null) { return false; } String attributeName = property.toString(); if (requestContext.getRequestScope().contains(attributeName)) { elContext.setPropertyResolved(true); return false; } else if (requestContext.getFlashScope().contains(attributeName)) { elContext.setPropertyResolved(true); return false; } else if (requestContext.inViewState() && requestContext.getViewScope().contains(attributeName)) { elContext.setPropertyResolved(true); return false; } else if (requestContext.getFlowScope().contains(attributeName)) { elContext.setPropertyResolved(true); return false; } else if (requestContext.getConversationScope().contains(attributeName)) { elContext.setPropertyResolved(true); return false; } else { return false; } }
public void setValue(ELContext elContext, Object base, Object property, Object value) { RequestContext requestContext = getRequestContext(); if (base != null || requestContext == null) { return; } String attributeName = property.toString(); if (requestContext.getRequestScope().contains(attributeName)) { elContext.setPropertyResolved(true); requestContext.getRequestScope().put(attributeName, value); } else if (requestContext.getFlashScope().contains(attributeName)) { elContext.setPropertyResolved(true); requestContext.getFlashScope().put(attributeName, value); } else if (requestContext.inViewState() && requestContext.getViewScope().contains(attributeName)) { elContext.setPropertyResolved(true); requestContext.getViewScope().put(attributeName, value); } else if (requestContext.getFlowScope().contains(attributeName)) { elContext.setPropertyResolved(true); requestContext.getFlowScope().put(attributeName, value); } else if (requestContext.getConversationScope().contains(attributeName)) { elContext.setPropertyResolved(true); requestContext.getConversationScope().put(attributeName, value); } }
public Object getValue(ELContext elContext, Object base, Object property) { RequestContext requestContext = getRequestContext(); if (base != null || requestContext == null) { return null; } String attributeName = property.toString(); if (requestContext.getRequestScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getRequestScope().get(attributeName); } else if (requestContext.getFlashScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getFlashScope().get(attributeName); } else if (requestContext.inViewState() && requestContext.getViewScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getViewScope().get(attributeName); } else if (requestContext.getFlowScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getFlowScope().get(attributeName); } else if (requestContext.getConversationScope().contains(attributeName)) { elContext.setPropertyResolved(true); return requestContext.getConversationScope().get(attributeName); } else { return null; } }
private MutableAttributeMap<Object> findScopeForAttribute(RequestContext requestContext, String name) { if (requestContext.getRequestScope().contains(name)) { return requestContext.getRequestScope(); } if (requestContext.getFlashScope().contains(name)) { return requestContext.getFlashScope(); } if (requestContext.inViewState() && requestContext.getViewScope().contains(name)) { return requestContext.getViewScope(); } if (requestContext.getFlowScope().contains(name)) { return requestContext.getFlowScope(); } if (requestContext.getConversationScope().contains(name)) { return requestContext.getConversationScope(); } return null; }
private Map<String, Object> flowScopes() { if (requestContext.getCurrentState().isViewState()) { return requestContext.getConversationScope().union(requestContext.getFlowScope()) .union(requestContext.getViewScope()).union(requestContext.getFlashScope()) .union(requestContext.getRequestScope()).asMap(); } else { return requestContext.getConversationScope().union(requestContext.getFlowScope()) .union(requestContext.getFlashScope()).union(requestContext.getRequestScope()).asMap(); } }
public View getView(RequestContext context) { String viewId = (String) this.viewId.getValue(context); org.springframework.web.servlet.View view = viewResolver.resolveView(viewId, context); AbstractMvcView mvcView = createMvcView(view, context); mvcView.setExpressionParser(expressionParser); mvcView.setConversionService(conversionService); mvcView.setBinderConfiguration(binderConfiguration); mvcView.setMessageCodesResolver(messageCodesResolver); mvcView.setValidator(validator); mvcView.setValidationHintResolver(validationHintResolver); if (StringUtils.hasText(eventIdParameterName)) { mvcView.setEventIdParameterName(eventIdParameterName); } if (StringUtils.hasText(fieldMarkerPrefix)) { mvcView.setFieldMarkerPrefix(fieldMarkerPrefix); } ViewActionStateHolder stateHolder = (ViewActionStateHolder) context.getFlashScope().get( View.USER_EVENT_STATE_ATTRIBUTE); if (stateHolder != null) { mvcView.restoreState(stateHolder); } return mvcView; }
@SuppressWarnings("unused") public void sessionEnding(RequestContext context, FlowSession session, MutableAttributeMap<?> output) { assertTrue(context.getFlashScope().contains("flowExecutionException")); assertTrue(context.getFlashScope().contains("rootCauseException")); assertTrue(context.getFlashScope().get("rootCauseException") instanceof TestException); } };
protected Event doExecute(RequestContext context) throws Exception { String[] fragments = new String[fragmentExpressions.length]; for (int i = 0; i < fragmentExpressions.length; i++) { Expression exp = fragmentExpressions[i]; fragments[i] = (String) exp.getValue(context); } context.getFlashScope().put(View.RENDER_FRAGMENTS_ATTRIBUTE, fragments); return success(); }
protected String[] getRenderFragments(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) { RequestContext context = RequestContextHolder.getRequestContext(); if (context == null) { return super.getRenderFragments(model, request, response); } String[] fragments = (String[]) context.getFlashScope().get(View.RENDER_FRAGMENTS_ATTRIBUTE); if (fragments == null) { return super.getRenderFragments(model, request, response); } return fragments; }
protected String[] getRenderFragments(Map model, HttpServletRequest request, HttpServletResponse response) { RequestContext context = RequestContextHolder.getRequestContext(); if (context == null) { return super.getRenderFragments(model, request, response); } else { String[] fragments = (String[]) context.getFlashScope().get(View.RENDER_FRAGMENTS_ATTRIBUTE); if (fragments == null) { return super.getRenderFragments(model, request, response); } return fragments; } }
private UIViewRoot restoreFlowPortletView(FacesContext facesContext, String resourcePath) { RequestContext context = RequestContextHolder.getRequestContext(); ViewRootHolder holder = (ViewRootHolder) context.getFlashScope().get(ViewRootHolder.VIEW_ROOT_HOLDER_KEY); if (holder != null && holder.getViewRoot().getViewId().equals(resourcePath)) { return holder.getViewRoot(); } else { return delegate.restoreView(facesContext, resourcePath); } }
public void testReturnFragmentIdsMutable() { String[] fragmentIds = new String[] { "foo", "bar" }; RequestContext requestContext = new MockRequestContext(); requestContext.getFlashScope().asMap().put(View.RENDER_FRAGMENTS_ATTRIBUTE, fragmentIds); RequestContextHolder.setRequestContext(requestContext); Collection<String> renderIds = new FlowPartialViewContext(null).getRenderIds(); renderIds.add("baz"); assertEquals(Arrays.asList("foo", "bar", "baz"), renderIds); }
private Map<String, Object> flowScopes() { if (requestContext.getCurrentState().isViewState()) { return requestContext.getConversationScope().union(requestContext.getFlowScope()) .union(requestContext.getViewScope()).union(requestContext.getFlashScope()) .union(requestContext.getRequestScope()).asMap(); } else { return requestContext.getConversationScope().union(requestContext.getFlowScope()) .union(requestContext.getFlashScope()).union(requestContext.getRequestScope()).asMap(); } }