[scxml] Setting state through history element or other means
Hello, Is there a way to programatically change history state of a workflow? Our idea is to be able to set freely the next state to be executed. If we set the state like this: Set states = executor.getCurrentStatus().getStates(); TransitionTarget tt = (TransitionTarget) executor.getStateMachine().getTargets().get(stateId); states.clear(); states.add(tt); This will set current state, but onentry will not be executed, only onexit on transition. Perhaps if we could somehow programatically change current status of the executor, so that when we trigger an event that has target=historyElement, the state machine will transition to the wanted state. Is this possible?
[jxpath] Issue in retrieving value jxpath
Hi, I'm having an issue in parsing the following XML using jxpath. Here's the sample XML. ?xml version=1.0 encoding=UTF-8? feed xmlns=http://www.w3.org/2005/Atom; xmlns:media= http://search.yahoo.com/mrss/; xmlns:openSearch= http://a9.com/-/spec/opensearchrss/1.0/; xmlns:gd= http://schemas.google.com/g/2005; xmlns:yt= http://gdata.youtube.com/schemas/2007; entry idhttp://gdata.youtube.com/feeds/api/videos/P1lDDu9L5YQ/id published2010-09-20T17:41:38.000Z/published /entry entry idhttp://gdata.youtube.com/feeds/api/videos/P1lDDu9L5YQ/id published2010-09-20T17:41:38.000Z/published /entry /feed I'm trying to read the contents of entry usig xpath. Heres my code snippet. String test = the_xml_example_above; ByteArrayInputStream is = new ByteArrayInputStream(test.getBytes(UTF-8)); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc22 = db.parse(is); JXPathContext ctx = JXPathContext.newContext(doc22); List nodes = ctx.selectNodes(/feed/entry); Here the list is always 0. Now, if I remove the namespace attributes from feed, jxpath is able to resolve the entry nodes. Not sure what's the reason behind this. I'll appreciate if someone cane provide pointers to this issue. -Thanks
Re: [scxml] Setting state through history element or other means
On Wed, Sep 21, 2011 at 5:53 AM, Dario D darac1...@gmail.com wrote: Hello, Is there a way to programatically change history state of a workflow? Our idea is to be able to set freely the next state to be executed. If we set the state like this: Set states = executor.getCurrentStatus().getStates(); TransitionTarget tt = (TransitionTarget) executor.getStateMachine().getTargets().get(stateId); states.clear(); states.add(tt); This will set current state, but onentry will not be executed, only onexit on transition. Perhaps if we could somehow programatically change current status of the executor, so that when we trigger an event that has target=historyElement, the state machine will transition to the wanted state. Is this possible? snip/ There is no straightforward way to programmatically manipulate executor history. This is by design, as the historical record of execution should be what it was. There are some usecases for programmatic manipulation of current states (as can be done via snippet above) such as pooling of executors or persist-resume scenarios. Often, any need to do more programmatic manipulation beyond that may be mitigated by rethinking the state machine and associated events (including their payloads). -Rahul - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org