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


Reply via email to