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