/** * Builds the view if not already available. This is mostly required for ViewExpiredException's. * * @param context The {@link FacesContext}. * @param throwable The occurred {@link Throwable}. * @param rootCause The root cause. * @return The unwrapped {@link Throwable}. * @throws java.io.IOException If building the view fails. */ protected Throwable buildView(FacesContext context, Throwable throwable, Throwable rootCause) throws IOException { if (context.getViewRoot() == null) { ViewHandler viewHandler = context.getApplication().getViewHandler(); String viewId = viewHandler.deriveViewId(context, ComponentUtils.calculateViewId(context)); ViewDeclarationLanguage vdl = viewHandler.getViewDeclarationLanguage(context, viewId); UIViewRoot viewRoot = vdl.createView(context, viewId); context.setViewRoot(viewRoot); vdl.buildView(context, viewRoot); // Workaround for Mojarra // if UIViewRoot == null -> 'IllegalArgumentException' is throwed instead of 'ViewExpiredException' if (rootCause == null && throwable instanceof IllegalArgumentException) { rootCause = new javax.faces.application.ViewExpiredException(viewId); } } return rootCause; }
@Override public ViewDeclarationLanguage getViewDeclarationLanguage(final FacesContext context, final String viewId) { return parent.getViewDeclarationLanguage(context, viewId); }
@Override public ViewDeclarationLanguage getViewDeclarationLanguage(final FacesContext context, final String viewId) { return parent.getViewDeclarationLanguage(context, viewId); }
@Override public ViewDeclarationLanguage getViewDeclarationLanguage(final FacesContext context, final String viewId) { return parent.getViewDeclarationLanguage(context, viewId); }
/** * <p>The default behavior of this method is to * call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object.</p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
/** * <p>The default behavior of this method is to * call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object.</p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
@Override public ViewDeclarationLanguage getViewDeclarationLanguage( FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
@Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext facesContext, String s) { weaveDelegate(); return _delegate.getViewDeclarationLanguage(facesContext, s); }
/** * <p>The default behavior of this method is to * call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object.</p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
/** * <p>The default behavior of this method is to * call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object.</p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
/** * <p> * The default behavior of this method is to call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object. * </p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
String viewId = "/path/to/some.xhtml"; FacesContext context = FacesContext.getCurrentInstance(); ViewHandler viewHandler = context.getApplication().getViewHandler(); UIViewRoot view = viewHandler.createView(context, viewId); viewHandler.getViewDeclarationLanguage(context, viewId).buildView(context, view); // view should now have children.
/** * <p> * The default behavior of this method is to call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object. * </p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
/** * <p>The default behavior of this method is to * call {@link ViewHandler#getViewDeclarationLanguage} * on the wrapped {@link ViewHandler} object.</p> * * @since 2.0 */ @Override public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, String viewId) { return getWrapped().getViewDeclarationLanguage(context, viewId); }
/** * @see Faces#getViewDeclarationLanguage() */ public static ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context) { return context.getApplication().getViewHandler().getViewDeclarationLanguage(context, context.getViewRoot().getViewId()); }
/** * @see Faces#getViewDeclarationLanguage() */ public static ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context) { return context.getApplication().getViewHandler().getViewDeclarationLanguage(context, context.getViewRoot().getViewId()); }
public static void includeCompositeComponent(UIComponent parent, String taglibURI, String tagName, String id) { FacesContext context = FacesContext.getCurrentInstance(); UIComponent composite = context.getApplication().getViewHandler() .getViewDeclarationLanguage(context, context.getViewRoot().getViewId()) .createComponent(context, taglibURI, tagName, null); composite.setId(id); parent.getChildren().add(composite); }
/** * @see Faces#getMetadataAttributes(String) */ public static Map<String, Object> getMetadataAttributes(FacesContext context, String viewId) { ViewHandler viewHandler = context.getApplication().getViewHandler(); ViewDeclarationLanguage vdl = viewHandler.getViewDeclarationLanguage(context, viewId); ViewMetadata metadata = vdl.getViewMetadata(context, viewId); return (metadata != null) ? metadata.createMetadataView(context).getAttributes() : Collections.<String, Object>emptyMap(); }
/** * @see Faces#getMetadataAttributes(String) */ public static Map<String, Object> getMetadataAttributes(FacesContext context, String viewId) { ViewHandler viewHandler = context.getApplication().getViewHandler(); ViewDeclarationLanguage vdl = viewHandler.getViewDeclarationLanguage(context, viewId); ViewMetadata metadata = vdl.getViewMetadata(context, viewId); return (metadata != null) ? metadata.createMetadataView(context).getAttributes() : Collections.<String, Object>emptyMap(); }
private void renderErrorPage(final FacesContext facesContext, final String errorPageLocation) throws IOException { final ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); final UIViewRoot viewRoot = viewHandler.createView(facesContext, errorPageLocation); facesContext.setViewRoot(viewRoot); facesContext.getPartialViewContext().setRenderAll(true); final ViewDeclarationLanguage viewDeclarationLanguage = viewHandler .getViewDeclarationLanguage(facesContext, errorPageLocation); viewDeclarationLanguage.buildView(facesContext, viewRoot); facesContext.getApplication().publishEvent(facesContext, PreRenderViewEvent.class, viewRoot); viewDeclarationLanguage.renderView(facesContext, viewRoot); facesContext.responseComplete(); }