You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by ra...@apache.org on 2006/09/13 01:15:31 UTC

svn commit: r442753 - /shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java

Author: rahul
Date: Tue Sep 12 16:15:30 2006
New Revision: 442753

URL: http://svn.apache.org/viewvc?view=rev&rev=442753
Log:
Proper cleanup, the logical equivalent of reaching an "end" state in the legacy API.

Modified:
    shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java

Modified: shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java
URL: http://svn.apache.org/viewvc/shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java?view=diff&rev=442753&r1=442752&r2=442753
==============================================================================
--- shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java (original)
+++ shale/sandbox/shale-dialog2-scxml/src/main/java/org/apache/shale/dialog2/scxml/SCXMLDialogContext.java Tue Sep 12 16:15:30 2006
@@ -208,7 +208,14 @@
         // Using C/C, "View" state ID is JSF viewId, which is an acceptable
         // approach with Commons SCXML v0.5
         Iterator iterator = this.executor.getCurrentStatus().getStates().iterator();
-        navigateTo(((State) iterator.next()).getId(), context);
+        String viewId = ((State) iterator.next()).getId();
+
+        // If done, stop context
+        if (this.executor.getCurrentStatus().isFinal()) {
+            stop(context);
+        }
+
+        navigateTo(viewId, context);
 
     }
 
@@ -252,7 +259,14 @@
         // Using C/C, "View" state ID is JSF viewId, which is an acceptable
         // approach with Commons SCXML v0.5 since it accepts spaces etc.
         Iterator iterator = this.executor.getCurrentStatus().getStates().iterator();
-        navigateTo(((State) iterator.next()).getId(), context);
+        String viewId = ((State) iterator.next()).getId();
+
+        // Might be done at the beginning itself, if so, stop context
+        if (this.executor.getCurrentStatus().isFinal()) {
+            stop(context);
+        }
+
+        navigateTo(viewId, context);
 
     }