List of usage examples for org.apache.commons.scxml2.env SimpleErrorReporter SimpleErrorReporter
public SimpleErrorReporter()
From source file:com.github.woonsan.commons.scxml.examples.helloworld.Main.java
public static void main(String[] args) throws Exception { // evaluator instance which is used by SCXML engine to evaluate expressions in SCXML Evaluator evaluator = new JexlEvaluator(); // engine to execute the scxml instance SCXMLExecutor executor = new SCXMLExecutor(evaluator, null, new SimpleErrorReporter()); // parse SCXML URL into SCXML model SCXML scxml = SCXMLReader.read(SCXML); // set state machine (scxml instance) to execute executor.setStateMachine(scxml);// ww w . ja v a2s. c o m // create root context storing variables and being used by evaluator Context rootContext = evaluator.newContext(null); // set the root context for the engine executor.setRootContext(rootContext); // initiate the execution of the state machine executor.go(); }
From source file:com.github.woonsan.commons.scxml.examples.stopwatch.Main.java
public static void main(String[] args) throws Exception { // evaluator instance which is used by SCXML engine to evaluate expressions in SCXML Evaluator evaluator = new JexlEvaluator(); // engine to execute the scxml instance SCXMLExecutor executor = new SCXMLExecutor(evaluator, null, new SimpleErrorReporter()); // parse SCXML URL into SCXML model SCXML scxml = SCXMLReader.read(SCXML); // set state machine (scxml instance) to execute executor.setStateMachine(scxml);/*from ww w . jav a2s . c o m*/ // create root context storing variables and being used by evaluator Context rootContext = evaluator.newContext(null); // create stopWatch object and add it to rootContext // to be able to script with that in SCXML. StopWatch stopWatch = new StopWatch(); rootContext.set("stopWatch", stopWatch); // set the root context for the engine executor.setRootContext(rootContext); // initiate the execution of the state machine executor.go(); new StopWatchFrame(executor); }
From source file:it.polito.elite.dog.drivers.appliances.base.ApplianceDriverInstance.java
private void initializeDeviceStateMachine() { // check if all needed elements are initialized if ((this.deviceSerial != null) && (!this.deviceSerial.isEmpty()) && (this.stateMachineLocator != null)) { // get the device-specific state machine URL, if any available URL stateMachineURL = this.stateMachineLocator.getStateMachine(this.deviceSerial); // check not null if (stateMachineURL != null) { try { // get the SCXML state machine (SCXML root element) this.stateMachine = SCXMLReader.read(stateMachineURL); // build a new executor this.executor = new SCXMLExecutor(new JexlEvaluator(), new SimpleDispatcher(), new SimpleErrorReporter()); //set a scheduler dispatcher to handle delayed events this.executor.setEventdispatcher(new SimpleScheduler(this.executor)); // set the state machine this.executor.setStateMachine(this.stateMachine); // set the root context JexlContext context = new JexlContext(); // set the executor context this.executor.setRootContext(context); // add this class as listener of the state machine changes this.executor.addListener(this.stateMachine, this); // start the engine this.executor.go(); } catch (IOException | ModelException | XMLStreamException e) { // log the error and continue if possible this.logger.log(LogService.LOG_ERROR, "Error while creating the state machine executor associated to this driver instance", e);// w ww. ja v a2s. c om } } } }
From source file:org.onehippo.repository.scxml.AbstractActionTest.java
@Before public void before() throws Exception { evtDispatcher = new SimpleDispatcher(); errRep = new SimpleErrorReporter(); appLog = new SimpleLog(getClass().getName()); state = new State(); onEntry = new OnEntry(); state.addOnEntry(onEntry);/*from w w w. j a v a 2 s . c o m*/ context = new GroovyContext(); Evaluator evaluator = new GroovyEvaluator(); exctx = EasyMock.createNiceMock(ActionExecutionContext.class); EasyMock.expect(exctx.getEventDispatcher()).andReturn(evtDispatcher).anyTimes(); EasyMock.expect(exctx.getErrorReporter()).andReturn(errRep).anyTimes(); EasyMock.expect(exctx.getAppLog()).andReturn(appLog).anyTimes(); EasyMock.expect(exctx.getContext(state)).andReturn(context).anyTimes(); EasyMock.expect(exctx.getEvaluator()).andReturn(evaluator).anyTimes(); EasyMock.replay(exctx); }
From source file:org.onehippo.repository.scxml.AbstractWorkflowTaskActionTest.java
@Before public void before() throws Exception { evtDispatcher = new SimpleDispatcher(); errRep = new SimpleErrorReporter(); appLog = new SimpleLog(getClass().getName()); final State state = new State(); onEntry = new OnEntry(); state.addOnEntry(onEntry);/*from w ww. j a va2s. c o m*/ context = new GroovyContext(); final Evaluator evaluator = new GroovyEvaluator(); exctx = EasyMock.createNiceMock(ActionExecutionContext.class); EasyMock.expect(exctx.getEventDispatcher()).andReturn(evtDispatcher).anyTimes(); EasyMock.expect(exctx.getErrorReporter()).andReturn(errRep).anyTimes(); EasyMock.expect(exctx.getAppLog()).andReturn(appLog).anyTimes(); EasyMock.expect(exctx.getContext(state)).andReturn(context).anyTimes(); EasyMock.expect(exctx.getEvaluator()).andReturn(evaluator).anyTimes(); EasyMock.replay(exctx); }