cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Reinhard Poetz (JIRA)" <j...@apache.org>
Subject [jira] Updated: (COCOON-1655) JavaFlow/CForm/select-list crash
Date Tue, 25 Oct 2005 06:35:56 GMT
     [ 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


Mime
View raw message