java.lang.Object
org.apache.taglibs.rdc.dm.DialogManagerImpl
org.apache.taglibs.rdc.dm.SCXMLDialog
- All Implemented Interfaces:
- org.apache.taglibs.rdc.core.DialogManager
- public class SCXMLDialog
- extends DialogManagerImpl
A dialog management strategy for the RDC group container which uses
a SCXML configuration file to define the dialog for each <group>
instance.
SCXML, or the "State Chart eXtensible Markup Language", provides a
generic state-machine based execution environment based on CCXML and
Harel State Tables.
The URI of the SCXML document is the config attribute of the
<group> tag.
|
Nested Class Summary |
private class |
SCXMLDialog.SCXMLErrorHandler
Custom error handler to communicate parsing errors in the
XML navigation rules to the client. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ERR_DIGESTER_FAIL
private static final java.lang.String ERR_DIGESTER_FAIL
- See Also:
- Constant Field Values
log
private static org.apache.commons.logging.Log log
exec
private org.apache.taglibs.rdc.scxml.SCXMLExecutor exec
- The SCXML engine that will execute the SCXML document specified
in the group configuration.
SCXMLDialog
public SCXMLDialog()
initialize
public boolean initialize(javax.servlet.jsp.JspContext ctx,
javax.servlet.jsp.tagext.JspFragment bodyFragment)
throws javax.servlet.jsp.JspException,
java.io.IOException
- Description copied from class:
DialogManagerImpl
- Initialiaze this doTag() invocation
- Specified by:
initialize in interface org.apache.taglibs.rdc.core.DialogManager- Overrides:
initialize in class DialogManagerImpl
collect
public void collect(javax.servlet.jsp.JspContext ctx,
javax.servlet.jsp.tagext.JspFragment bodyFragment)
throws javax.servlet.jsp.JspException,
java.io.IOException
- Collect the required information based on the SCXML config
- Specified by:
collect in interface org.apache.taglibs.rdc.core.DialogManager- Specified by:
collect in class DialogManagerImpl
dialogManager
private void dialogManager(org.apache.taglibs.rdc.core.GroupTag groupTag)
- This method does the rule based dialog management based on the
navigational rules supplied
renderNext
private boolean renderNext(org.apache.taglibs.rdc.core.GroupModel groupModel,
org.apache.taglibs.rdc.scxml.Status s)
- Render new states due to events triggered in last dialogManager()
invocation if:
a) All currently active child are done
and
b) The current executor status reached is not final