Author: rahul
Date: Tue Jun 5 12:57:49 2007
New Revision: 544613
URL: http://svn.apache.org/viewvc?view=rev&rev=544613
Log:
Subdialog not returning to calling dialog
SHALE-423
Have to execute action twice to return to calling dialog
SHALE-386
Render end state if "standalone" dialog, but if subdialog defer the outcome to
the parent dialog, which becomes responsible for rendering next view.
Shale v1.0.3 calls "render()" twice if the end state has a non-null viewId
(first with subdialog end state viewId and then with parent dialog view state
-- usually -- viewId); TBD whether that is necessary. If necessary, perhaps
best to factor the rendering logic at the end of advance() into a private
render() method (for reuse).
Modified:
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java
Modified:
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java?view=diff&rev=544613&r1=544612&r2=544613
==============================================================================
---
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java
(original)
+++
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/BasicDialogContext.java
Tue Jun 5 12:57:49 2007
@@ -411,6 +411,10 @@
position = peek();
if (position == null) {
stop(context);
+ } else {
+ transition(position, outcome);
+ state = position.getState();
+ continue;
}
viewId = ((EndState) state).getViewId();
redirect = ((EndState) state).isRedirect();