My mistake, read: MyCustomAction class implements org.apache.commons.scxml.model.Action
instead of: MyCustomAction class implements CustomAction Le 20 sept. 2010 à 15:38, Thiébault Benoît a écrit : > Hello everyone, > > I'm trying to configure SCXML to read custom actions like this: > >> <my:custom> >> <my:command name="foo"/> >> <my:command name="bar"/> >> </my:custom> > > I've read the custom actions tutorial > (http://commons.apache.org/scxml/guide/custom-actions.html), which sends back > to Digester API for custom action with nested children and I end up with the > following code: > >> Digester digester = SCXMLParser.newInstance(null, new >> URLResolver(scxmlDocument), null); >> digester.setNamespaceAware(true); >> digester.setRuleNamespaceURI("http://www.my.org/SCXML"); >> >> digester.addObjectCreate("*/custom", MyCustomAction.class); >> digester.addSetProperties("*/custom"); >> digester.addObjectCreate("*/custom/command", MyCustomAction.class); >> digester.addSetNext("*/custom/command", "addCommand", >> "my.package.CommandCustomAction"); >> >> digester.setErrorHandler(errHandler); >> >> try { >> stateMachine = (SCXML) digester.parse(scxmlDocument.toString()); >> >> if (stateMachine != null) { >> SCXMLParser.updateSCXML(stateMachine); >> } >> } catch (RuntimeException rte) { >> logError(rte); >> } catch (IOException ioe) { >> logError(ioe); >> } catch (SAXException sae) { >> logError(sae); >> } catch (ModelException me) { >> logError(me); >> } > > MyCustomAction class implements CustomAction and stores an ArrayList of > CommandCustomAction and has a addCommand method. > The CommandCustomAction defines the setName() and getName() methods. > > This code seems to work (I mean no crash nor warning)... but does nothing. > I guess I just read successfully the XML file, but didn't tell SCXML that it > has to call the execute method in MyCustomeAction class. How to do it ? > Is there an example somewhere of the use of such custom actions with children > elements ? > > Kind regards, > Ben > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
