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

Reply via email to