You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/02/18 18:51:44 UTC

svn commit: r154331 - in incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow: FlowController.java PageFlowController.java

Author: rich
Date: Fri Feb 18 09:51:43 2005
New Revision: 154331

URL: http://svn.apache.org/viewcvs?view=rev&rev=154331
Log:
Resolved http://issues.apache.org/jira/browse/BEEHIVE-323 :  It would be great to have two additional methods in PageFlowController to get and remove sharedflows.

DRT/BVT: netui (WinXP)
BB: self (linux)


Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java?view=diff&r1=154330&r2=154331
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java Fri Feb 18 09:51:43 2005
@@ -50,7 +50,6 @@
 import javax.security.auth.login.LoginException;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
 import javax.servlet.jsp.el.ELException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -1172,6 +1171,9 @@
     {
     }
     
+    /**
+     * Remove this instance from the user session.
+     */ 
     protected void remove()
     {
         removeFromSession( getRequest() );

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java?view=diff&r1=154330&r2=154331
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java Fri Feb 18 09:51:43 2005
@@ -174,6 +174,10 @@
         return true;
     }
     
+    /**
+     * This is a framework-invoked method to save the page flow instance in the session.  It should not normally be
+     * invoked directly.
+     */ 
     public void persistInSession( HttpServletRequest request, HttpServletResponse response )
     {
         PageFlowController currentPageFlow = PageFlowUtils.getCurrentPageFlow( request );
@@ -281,11 +285,46 @@
         }
     }
     
+    /**
+     * Get the a map of shared flow name to shared flow instance.
+     * @return a Map of shared flow name (string) to shared flow instance ({@link SharedFlowController}).
+     */ 
     public Map< String, SharedFlowController > getSharedFlows()
     {
         return PageFlowUtils.getSharedFlows( getRequest() );
     }
     
+    /**
+     * Get a shared flow, based on its name as defined in this page flow's {@link Jpf.Controller#sharedFlowRefs}
+     * annotation.  To retrieve any shared flow based on its class name, use {@link PageFlowUtils#getSharedFlow}.
+     * 
+     * @param sharedFlowName the name of the shared flow, as in this page flows's {@link Jpf.Controller#sharedFlowRefs()}
+     *     annotation.
+     * @return the {@link SharedFlowController} with the given name.
+     */ 
+    public SharedFlowController getSharedFlow( String sharedFlowName )
+    {
+        return PageFlowUtils.getSharedFlows( getRequest() ).get( sharedFlowName );
+    }
+    
+    /**
+     * Remove a shared flow from the session, based on its name as defined in this page flow's
+     * {@link Jpf.Controller#sharedFlowRefs} annotation.  To remove any shared flow based on its class name, use
+     * {@link PageFlowUtils#removeSharedFlow}.
+     * 
+     * @param sharedFlowName the name of the shared flow, as in this page flows's {@link Jpf.Controller#sharedFlowRefs()}
+     *     annotation.
+     */ 
+    public void removeSharedFlow( String sharedFlowName )
+    {
+        SharedFlowController sf = getSharedFlow( sharedFlowName );
+        if ( sf != null ) sf.removeFromSession( getRequest() );
+    }
+    
+    /**
+     * This is a framework method for initializing a newly-created page flow, and should not normally be called
+     * directly.
+     */ 
     public final synchronized void create( HttpServletRequest request, HttpServletResponse response,
                                            ServletContext servletContext )
     {
@@ -647,6 +686,10 @@
         }
     }
     
+    /**
+     * Get the display name of this page flow.
+     * @return the display name (the URI) of this page flow.
+     */ 
     public String getDisplayName()
     {
         return getURI();