Package org.apache.beehive.netui.pageflow.handler

Examples of org.apache.beehive.netui.pageflow.handler.StorageHandler


     * Store this object in the user session, in the appropriate place.  Used by the framework; normally should not be
     * called directly.
     */
    public void persistInSession( HttpServletRequest request, HttpServletResponse response )
    {
        StorageHandler sh = Handlers.get( getServletContext() ).getStorageHandler();
        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        sh.setAttribute( rc, InternalConstants.SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this );
    }
View Full Code Here


     *
     * @param request the current HttpServletRequest
     */
    public void ensureFailover( HttpServletRequest request )
    {
        StorageHandler sh = Handlers.get( getServletContext() ).getStorageHandler();
        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        sh.ensureFailover( rc, InternalConstants.SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this );
    }
View Full Code Here

     * @param servletContext the current ServletContext.
     * @return the current ActionResolver from the user session, or <code>null</code> if there is none.
     */
    public static ActionResolver getCurrentActionResolver( HttpServletRequest request, ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
       
        //
        // First see if the current page flow is a long-lived, which is stored in its own attribute.
        //
        String currentLongLivedAttrName =
                ScopedServletUtils.getScopedSessionAttrName( CURRENT_LONGLIVED_ATTR, unwrappedRequest );
        String currentLongLivedModulePath = ( String ) sh.getAttribute( rc, currentLongLivedAttrName );
        ActionResolver retVal;
       
        if ( currentLongLivedModulePath != null )
        {
            return getLongLivedPageFlow( currentLongLivedModulePath, unwrappedRequest );
        }
        else
        {
            String currentJpfAttrName = ScopedServletUtils.getScopedSessionAttrName( CURRENT_JPF_ATTR, unwrappedRequest );
            return ( ActionResolver ) sh.getAttribute( rc, currentJpfAttrName );
        }
    }
View Full Code Here

     * @return the {@link SharedFlowController} of the given class name which is stored in the user session.
     */
    public static SharedFlowController getSharedFlow( String sharedFlowClassName, HttpServletRequest request,
                                                      ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
       
        return ( SharedFlowController ) sh.getAttribute( rc, SHARED_FLOW_ATTR_PREFIX + sharedFlowClassName );
    }
View Full Code Here

     * @param request the current HttpServletRequest.
     */
    public static void removeSharedFlow( String sharedFlowClassName, HttpServletRequest request,
                                         ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        sh.removeAttribute( rc, SHARED_FLOW_ATTR_PREFIX + sharedFlowClassName );
    }
View Full Code Here

     * remove it.
     */
    public static void removeLongLivedPageFlow( String modulePath, HttpServletRequest request,
                                                ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
       
        String attrName = InternalUtils.getLongLivedFlowAttr( modulePath );
        attrName = ScopedServletUtils.getScopedSessionAttrName( attrName, unwrappedRequest );
        sh.removeAttribute( rc, attrName );

        //
        // Now, if the current page flow is long-lived, remove the reference.
        //
        String currentLongLivedAttrName =
                ScopedServletUtils.getScopedSessionAttrName( CURRENT_LONGLIVED_ATTR, unwrappedRequest );
        String currentLongLivedModulePath =
                ( String ) sh.getAttribute( rc, currentLongLivedAttrName );
       
        if ( modulePath.equals( currentLongLivedModulePath ) )
        {
            sh.removeAttribute( rc, currentLongLivedAttrName );
        }
    }
View Full Code Here

     * @return the long-lived page flow instance associated with the given module, or <code>null</code> if none is found.
     */
    public static PageFlowController getLongLivedPageFlow( String modulePath, HttpServletRequest request,
                                                           ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
       
        String attrName = InternalUtils.getLongLivedFlowAttr( modulePath );
        attrName = ScopedServletUtils.getScopedSessionAttrName( attrName, unwrappedRequest );
        PageFlowController retVal =  ( PageFlowController ) sh.getAttribute( rc, attrName );
        return retVal;
    }
View Full Code Here

        setCurrentActionResolver( jpf, request, servletContext );
    }

    public static void removeCurrentPageFlow( HttpServletRequest request, ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        String currentJpfAttrName = ScopedServletUtils.getScopedSessionAttrName( CURRENT_JPF_ATTR, unwrappedRequest );
        String currentLongLivedAttrName =
                ScopedServletUtils.getScopedSessionAttrName( CURRENT_LONGLIVED_ATTR, unwrappedRequest );

        sh.removeAttribute( rc, currentJpfAttrName );
        sh.removeAttribute( rc, currentLongLivedAttrName );
    }
View Full Code Here

        sh.removeAttribute( rc, currentLongLivedAttrName );
    }

    public static void removeCurrentFacesBackingBean( HttpServletRequest request, ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        String attrName = ScopedServletUtils.getScopedSessionAttrName( FACES_BACKING_ATTR, unwrappedRequest );

        sh.removeAttribute( rc, attrName );
    }
View Full Code Here

     * @param resolver the ActionResolver to set as the current one in the user session.
     */
    public static void setCurrentActionResolver( ActionResolver resolver, HttpServletRequest request,
                                                 ServletContext servletContext )
    {
        StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
        RequestContext rc = new RequestContext( unwrappedRequest, null );
        String currentJpfAttrName = ScopedServletUtils.getScopedSessionAttrName( CURRENT_JPF_ATTR, unwrappedRequest );
        String currentLongLivedJpfAttrName =
                ScopedServletUtils.getScopedSessionAttrName( CURRENT_LONGLIVED_ATTR, unwrappedRequest );

        if ( resolver == null )
        {
            sh.removeAttribute( rc, currentJpfAttrName );
            sh.removeAttribute( rc, currentLongLivedJpfAttrName );
            return;
        }

        //
        // If this is a long-lived page flow, also store the instance in an attribute that never goes away.
        //
        if ( resolver.isPageFlow() && isLongLived( ( ( PageFlowController ) resolver ).getModuleConfig() ) )
        {
            String longLivedAttrName = getLongLivedFlowAttr( resolver.getModulePath() );
            longLivedAttrName = ScopedServletUtils.getScopedSessionAttrName( longLivedAttrName, unwrappedRequest );

            // Only set this attribute if it's not already there.  We want to avoid our onDestroy() callback that's
            // invoked when the page flow's session attribute is unbound.
            if ( sh.getAttribute( rc, longLivedAttrName ) != resolver )
            {
                sh.setAttribute( rc, longLivedAttrName, resolver );
            }

            sh.setAttribute( rc, currentLongLivedJpfAttrName, resolver.getModulePath() );
            sh.removeAttribute( rc, currentJpfAttrName );
        }
        else
        {
            sh.setAttribute( rc, currentJpfAttrName, resolver );
            sh.removeAttribute( rc, currentLongLivedJpfAttrName );
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.beehive.netui.pageflow.handler.StorageHandler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.