[ http://issues.apache.org/jira/browse/COCOON-1655?page=all ]
Reinhard Poetz updated COCOON-1655:
-----------------------------------
Bugzilla Id: (was: 37187)
Component: Blocks: Java Flow
(was: Blocks: (Undefined))
Description:
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) );
}
was:
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) );
}
> JavaFlow/CForm/select-list crash
> --------------------------------
>
> Key: COCOON-1655
> URL: http://issues.apache.org/jira/browse/COCOON-1655
> Project: Cocoon
> Type: Bug
> Components: Blocks: Java Flow
> Versions: 2.1.7
> Environment: Operating System: other
> Platform: Other
> Reporter: Benoit Deshaies
> Assignee: Cocoon Developers Team
>
> 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.
-
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