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


Reply via email to