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();
|