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
([EMAIL PROTECTED] 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
[EMAIL PROTECTED] Jpf.Controller#sharedFlowRefs}
+ * annotation. To retrieve any shared flow based on its class name, use
[EMAIL PROTECTED] PageFlowUtils#getSharedFlow}.
+ *
+ * @param sharedFlowName the name of the shared flow, as in this page
flows's [EMAIL PROTECTED] Jpf.Controller#sharedFlowRefs()}
+ * annotation.
+ * @return the [EMAIL PROTECTED] 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
+ * [EMAIL PROTECTED] Jpf.Controller#sharedFlowRefs} annotation. To remove
any shared flow based on its class name, use
+ * [EMAIL PROTECTED] PageFlowUtils#removeSharedFlow}.
+ *
+ * @param sharedFlowName the name of the shared flow, as in this page
flows's [EMAIL PROTECTED] 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();