[ 
https://issues.apache.org/jira/browse/SANDBOX-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Torsten Curdt updated SANDBOX-86:
---------------------------------

    Issue Type: Improvement  (was: Bug)

> [javaflow] calling javaflow from javaflow
> -----------------------------------------
>
>                 Key: SANDBOX-86
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-86
>             Project: Commons Sandbox
>          Issue Type: Improvement
>          Components: Javaflow
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Benoit Deshaies
>
> I get an error whenever I include an <fd:selection-list src="cocoon:/XYZ"> 
> where
> both the form and the XYZ pipeline use JavaFlow. The error is:
> No continuation is running 
> cause: java.lang.IllegalStateException: No continuation is running
> java.lang.IllegalStateException: No continuation is running
>       at
> org.apache.cocoon.components.flow.java.Continuation.suspend(Continuation.java:79)
>       at
> org.apache.cocoon.components.flow.java.AbstractContinuable.sendPageAndWait(AbstractContinuable.java:75)
>       at 
> org.apache.cocoon.forms.flow.java.FormInstance.show(FormInstance.java:181)
> The reason is that when cocoon:/XYZ runs, a continuation is created for the 
> same
> thread as the form continuation. The continuationsmap in Continuation class 
> gets
> overwritten. When cocoon:/XYZ returns, the map is cleared for the thread,
> leaving no continuation for the form.
> Here's a bit of code from the app to help explain.
> The form contains a selection list defined as:
> <fd:field id="user">
>    <fd:datatype base="string"/>
>    <fd:selection-list src="cocoon:/UserSelectList" dynamic="true"/>
> </fd:field>
> The sitemap contains:
> <map:match pattern="UserSelectList">
>    <map:call function="generateUserList"/>
> </map:match>
> Then I have the following JavaFlow
> public void doGenerateUserList() throws Exception {
>    Collection userList = databaseManager.getUserList();
>    sendPage("user_list", new VarMap().add("list", userList) );
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to