The method removeSharedFlow( String sharedFlowClassName, HttpServletRequest
request ) in org.apache.beehive.netui.pageflow.PageFlowUtils no longer removes
a sharedflow from the session
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: BEEHIVE-912
URL: http://issues.apache.org/jira/browse/BEEHIVE-912
Project: Beehive
Type: Bug
Components: NetUI
Versions: V1
Reporter: Alejandro Ramirez
Assigned to: Rich Feit
Priority: Critical
Fix For: V1
Attachments: sharedFlowApi.zip
1.- Unzip the attached pageflow into a beehive enabled webapp.
2.- Build and deploy your webapp and access the pageflow (e.g.
http://localhost:<port>/<webapp_context>/sharedFlowApi/Controller.jpf
In that page, hit the "verify" link and then the "Remove
sharedFlowApi.SharedFlowApiTest from the Seession using
PageFlowUtils.removeSharedFlow(String sharedFlowClassName, HttpServletRequest
request)" link
Expected: The page should display a message that confirms the fact that you
have removed a sharedflow from the session.
Actual: The sharedflow is still in the session. The method removeSharedFlow(
String sharedFlowClassName, HttpServletRequest request ) in
org.apache.beehive.netui.pageflow.PageFlowUtils no longer removes a sharedflow
from the session
The structure of the sharedFlowApi.Controller.jpf pageflow is as follows:
sharedFlowApi.Controller.jpf contains a sharedflow reference "sharedFlow2":
sharedFlowRefs={
@Jpf.SharedFlowRef(name="sharedFlow2",
type=sharedFlowApi.pageFlowUtilApi.removeSharedFlow.AnotherSharedFlowApi.class)
}
Then, I have an action method to remove the sharedflow as follows:
@Jpf.Action(
forwards={
@Jpf.Forward(
name="success",
navigateTo=Jpf.NavigateTo.currentPage
)
}
)
public Forward pageFlowUtilRemoveSharedFlow()
{
UseSharedFlowApi example = new
UseSharedFlowApi(this.getRequest());
example.removeSharedFlow();
String objectsInSession = null;
for(Enumeration sessionObjects =
this.getSession().getAttributeNames(); sessionObjects.hasMoreElements();){
if
(SHAREDFLOW_TOREMOVE.equals(sessionObjects.nextElement()))
objectsInSession = SHAREDFLOW_TOREMOVE
+ " is STILL in the session" + "\n";
}
if (objectsInSession == null)
objectsInSession = SHAREDFLOW_TOREMOVE + " has
been REMOVED from the session" + "\n";
return new Forward( "success", "message", objectsInSession);
}
The removeSharedFlow() method of sharedFlowApi.UseSharedFlowApi looks as
follows:
public void removeSharedFlow(){
PageFlowUtils.removeSharedFlow(REMOVE_SHAREDFLOW,
this.request);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira