You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by at...@apache.org on 2014/04/03 11:13:22 UTC
svn commit: r1584317 - in /commons/proper/scxml/trunk/src:
main/java/org/apache/commons/scxml2/
main/java/org/apache/commons/scxml2/model/
main/java/org/apache/commons/scxml2/semantics/
test/java/org/apache/commons/scxml2/env/javascript/ test/java/org/...
Author: ate
Date: Thu Apr 3 09:13:22 2014
New Revision: 1584317
URL: http://svn.apache.org/r1584317
Log:
SCXML-182: Support error event raising to comply the spec "3.12.2 Errors"
The 'error.execution' event now is automatically added to the internal event queue when an expression error occurs
Modified:
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/ActionExecutionContext.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCInstance.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLExecutionContext.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLIOProcessor.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/TriggerEvent.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Assign.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/If.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Raise.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Send.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Var.java
commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java
commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSExampleTest.java
commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/Hello.java
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/ActionExecutionContext.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/ActionExecutionContext.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/ActionExecutionContext.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/ActionExecutionContext.java Thu Apr 3 09:13:22 2014
@@ -82,11 +82,10 @@ public class ActionExecutionContext {
}
/**
- * Add an event to the internal queue
- * @param event The event
+ * @return Returns the I/O Processor for the internal event queue
*/
- public void addInternalEvent(TriggerEvent event) {
- exctx.addInternalEvent(event);
+ public SCXMLIOProcessor getInternalIOProcessor() {
+ return exctx;
}
/**
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCInstance.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCInstance.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCInstance.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCInstance.java Thu Apr 3 09:13:22 2014
@@ -77,6 +77,11 @@ public class SCInstance implements Seria
private final Status currentStatus;
/**
+ * The SCXML I/O Processor for the internal event queue
+ */
+ private transient SCXMLIOProcessor internalIOProcessor;
+
+ /**
* The Evaluator used for this state machine instance.
*/
private transient Evaluator evaluator;
@@ -113,11 +118,13 @@ public class SCInstance implements Seria
/**
* Constructor
- *
+ * @param internalIOProcessor The I/O Processor for the internal event queue
* @param evaluator The evaluator
* @param errorReporter The error reporter
*/
- protected SCInstance(final Evaluator evaluator, final ErrorReporter errorReporter) {
+ protected SCInstance(final SCXMLIOProcessor internalIOProcessor, final Evaluator evaluator,
+ final ErrorReporter errorReporter) {
+ this.internalIOProcessor = internalIOProcessor;
this.evaluator = evaluator;
this.errorReporter = errorReporter;
this.currentStatus = new Status();
@@ -153,7 +160,7 @@ public class SCInstance implements Seria
/**
* Detach this state machine instance to allow external serialization.
* <p>
- * This clears the evaluator and errorReporter members.
+ * This clears the internal I/O processor, evaluator and errorReporter members.
* </p>
*/
protected void detach() {
@@ -162,6 +169,14 @@ public class SCInstance implements Seria
}
/**
+ * Sets the I/O Processor for the internal event queue
+ * @param internalIOProcessor
+ */
+ protected void setInternalIOProcessor(SCXMLIOProcessor internalIOProcessor) {
+ this.internalIOProcessor = internalIOProcessor;
+ }
+
+ /**
* Set or re-attach the evaluator
* <p>
* If this state machine instance has been initialized before, it will be initialized again, destroying all existing
@@ -259,6 +274,9 @@ public class SCInstance implements Seria
value = evaluator.eval(ctx, datum.getExpr());
ctx.setLocal(Context.NAMESPACES_KEY, null);
} catch (SCXMLExpressionException see) {
+ if (internalIOProcessor != null) {
+ internalIOProcessor.addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
+ }
errorReporter.onError(ErrorConstants.EXPRESSION_ERROR, see.getMessage(), datum);
}
ctx.setLocal(datum.getId(), value);
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLExecutionContext.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLExecutionContext.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLExecutionContext.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLExecutionContext.java Thu Apr 3 09:13:22 2014
@@ -37,7 +37,7 @@ import org.apache.commons.scxml2.model.S
* SCXMLExecutionContext provides all the services and internal data used during the interpretation of an SCXML
* statemachine across micro and macro steps
*/
-public class SCXMLExecutionContext {
+public class SCXMLExecutionContext implements SCXMLIOProcessor {
/**
* SCXML Execution Logger for the application.
@@ -120,7 +120,7 @@ public class SCXMLExecutionContext {
this.errorReporter = errorReporter != null ? errorReporter : new SimpleErrorReporter();
this.notificationRegistry = new NotificationRegistry();
- this.scInstance = new SCInstance(this.evaluator, this.errorReporter);
+ this.scInstance = new SCInstance(this, this.evaluator, this.errorReporter);
this.actionExecutionContext = new ActionExecutionContext(this);
}
@@ -128,6 +128,10 @@ public class SCXMLExecutionContext {
return externalIOProcessor;
}
+ public SCXMLIOProcessor getInternalIOProcessor() {
+ return this;
+ }
+
/**
* @return Returns the restricted execution context for actions
*/
@@ -407,7 +411,7 @@ public class SCXMLExecutionContext {
invokers.get(invokeId).cancel();
} catch (InvokerException ie) {
TriggerEvent te = new TriggerEvent("failed.invoke.cancel."+invokeId, TriggerEvent.ERROR_EVENT);
- addInternalEvent(te);
+ addEvent(te);
}
removeInvoker(invoke);
}
@@ -417,7 +421,8 @@ public class SCXMLExecutionContext {
* Add an event to the internal event queue
* @param event The event
*/
- public void addInternalEvent(TriggerEvent event) {
+ @Override
+ public void addEvent(TriggerEvent event) {
internalEventQueue.add(event);
}
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLIOProcessor.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLIOProcessor.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLIOProcessor.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/SCXMLIOProcessor.java Thu Apr 3 09:13:22 2014
@@ -17,13 +17,13 @@
package org.apache.commons.scxml2;
/**
- * The SCXML I/O Processor provides the interface for an external system or invoked child SCXML process
- * ({@link org.apache.commons.scxml2.invoke.Invoker}) to asynchronously send events to the SCXMLExecutor.
+ * The SCXML I/O Processor provides the interface for either an internal process or an external system or invoked child
+ * SCXML process ({@link org.apache.commons.scxml2.invoke.Invoker}) to send events into the SCXML processor queue.
*/
public interface SCXMLIOProcessor {
/**
- * Send an asynchronous event to the SCXMLExecutor
+ * Send an event into the SCXML processor queue
* <p>
* @param event the event to send
*/
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/TriggerEvent.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/TriggerEvent.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/TriggerEvent.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/TriggerEvent.java Thu Apr 3 09:13:22 2014
@@ -92,6 +92,37 @@ public class TriggerEvent implements Ser
public static final int CANCEL_EVENT = 6;
/**
+ * The predefined SCXML 'error.execution' Event name
+ * <p>
+ * Indicates that an error internal to the execution of the document has occurred, such as one arising from
+ * expression evaluation.
+ * </p>
+ * @see: <a href="http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents">
+ * http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents</a>
+ */
+ public static final String ERROR_EXECUTION = "error.execution";
+
+ /**
+ * The predefined SCXML 'error.communication' Event name
+ * <p>
+ * Indicates that an error has occurred while trying to communicate with an external entity.
+ * </p>
+ * @see: <a href="http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents">
+ * http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents</a>
+ */
+ public static final String ERROR_COMMUNICATION = "error.communication";
+
+ /**
+ * The predefined SCXML 'error.platform' Event name
+ * <p>
+ * Indicates that a platform- or application-specific error has occurred.
+ * </p>
+ * @see: <a href="http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents">
+ * http://www.w3.org/TR/2014/CR-scxml-20140313/#errorsAndEvents</a>
+ */
+ public static final String ERROR_PLATFORM = "error.platform";
+
+ /**
* The event name.
*
*/
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Assign.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Assign.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Assign.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Assign.java Thu Apr 3 09:13:22 2014
@@ -244,7 +244,7 @@ public class Assign extends Action imple
+ String.valueOf(varObj) + "'");
}
TriggerEvent ev = new TriggerEvent(name + ".change", TriggerEvent.CHANGE_EVENT);
- exctx.addInternalEvent(ev);
+ exctx.getInternalIOProcessor().addEvent(ev);
}
}
ctx.setLocal(getNamespacesKey(), null);
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/If.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/If.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/If.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/If.java Thu Apr 3 09:13:22 2014
@@ -23,6 +23,7 @@ import org.apache.commons.scxml2.ActionE
import org.apache.commons.scxml2.Context;
import org.apache.commons.scxml2.Evaluator;
import org.apache.commons.scxml2.SCXMLExpressionException;
+import org.apache.commons.scxml2.TriggerEvent;
import org.apache.commons.scxml2.semantics.ErrorConstants;
/**
@@ -131,9 +132,9 @@ public class If extends Action implement
}
} catch (SCXMLExpressionException e) {
rslt = Boolean.FALSE;
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, "Treating as false due to error: "
+ e.getMessage(), this);
- // TODO: place the error 'error.execution' in the internal event queue. (section "3.12.2 Errors")
}
execute = rslt;
ctx.setLocal(getNamespacesKey(), null);
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Raise.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Raise.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Raise.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Raise.java Thu Apr 3 09:13:22 2014
@@ -73,7 +73,7 @@ public class Raise extends Action {
exctx.getAppLog().debug("<raise>: Adding event '" + event + "' to list of derived events.");
}
TriggerEvent ev = new TriggerEvent(event, TriggerEvent.SIGNAL_EVENT);
- exctx.addInternalEvent(ev);
+ exctx.getInternalIOProcessor().addEvent(ev);
}
}
\ No newline at end of file
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Send.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Send.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Send.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Send.java Thu Apr 3 09:13:22 2014
@@ -333,8 +333,8 @@ public class Send extends Action impleme
exctx.getAppLog().debug("<send>: Enqueued event '" + eventValue
+ "' with no delay");
}
- exctx.addInternalEvent(new TriggerEvent(eventValue,
- TriggerEvent.SIGNAL_EVENT, params));
+ exctx.getInternalIOProcessor().addEvent(
+ new TriggerEvent(eventValue, TriggerEvent.SIGNAL_EVENT, params));
return;
}
} else {
@@ -343,9 +343,8 @@ public class Send extends Action impleme
exctx.getAppLog().warn("<send>: Unavailable target - "
+ targetValue);
}
- exctx.addInternalEvent(new TriggerEvent(
- EVENT_ERR_SEND_TARGETUNAVAILABLE,
- TriggerEvent.ERROR_EVENT));
+ exctx.getInternalIOProcessor().addEvent(
+ new TriggerEvent(EVENT_ERR_SEND_TARGETUNAVAILABLE, TriggerEvent.ERROR_EVENT));
// short-circuit the EventDispatcher
return;
}
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Var.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Var.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Var.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/model/Var.java Thu Apr 3 09:13:22 2014
@@ -105,7 +105,7 @@ public class Var extends Action {
+ "' with initial value '" + String.valueOf(varObj) + "'");
}
TriggerEvent ev = new TriggerEvent(name + ".change", TriggerEvent.CHANGE_EVENT);
- exctx.addInternalEvent(ev);
+ exctx.getInternalIOProcessor().addEvent(ev);
}
}
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java (original)
+++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java Thu Apr 3 09:13:22 2014
@@ -647,9 +647,9 @@ public class SCXMLSemanticsImpl implemen
}
}
catch (SCXMLExpressionException e) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, "Treating as false due to error: "
+ e.getMessage(), transition);
- // TODO: place the error 'error.execution' in the internal event queue. (section "3.12.2 Errors")
}
finally {
context.setLocal(Context.NAMESPACES_KEY, null);
@@ -819,6 +819,7 @@ public class SCXMLSemanticsImpl implemen
try {
globalScript.execute(exctx.getActionExecutionContext());
} catch (SCXMLExpressionException e) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, e.getMessage(), exctx.getStateMachine());
}
}
@@ -881,7 +882,7 @@ public class SCXMLSemanticsImpl implemen
executeContent(exctx, onexit);
if (!onexitEventRaised && onexit.isRaiseEvent()) {
onexitEventRaised = true;
- exctx.addInternalEvent(new TriggerEvent("exit.state."+es.getId(), TriggerEvent.CHANGE_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("exit.state."+es.getId(), TriggerEvent.CHANGE_EVENT));
}
}
exctx.getNotificationRegistry().fireOnExit(es, es);
@@ -924,6 +925,7 @@ public class SCXMLSemanticsImpl implemen
action.execute(exctx.getActionExecutionContext());
}
} catch (SCXMLExpressionException e) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, e.getMessage(), exec);
}
if (exec instanceof Transition) {
@@ -987,7 +989,7 @@ public class SCXMLSemanticsImpl implemen
executeContent(exctx, onentry);
if (!onentryEventRaised && onentry.isRaiseEvent()) {
onentryEventRaised = true;
- exctx.addInternalEvent(new TriggerEvent("entry.state."+es.getId(), TriggerEvent.CHANGE_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("entry.state."+es.getId(), TriggerEvent.CHANGE_EVENT));
}
}
exctx.getNotificationRegistry().fireOnEntry(es, es);
@@ -1009,7 +1011,7 @@ public class SCXMLSemanticsImpl implemen
exctx.stopRunning();
}
else {
- exctx.addInternalEvent(new TriggerEvent("done.state."+parent.getId(),TriggerEvent.CHANGE_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("done.state."+parent.getId(),TriggerEvent.CHANGE_EVENT));
if (parent.isRegion()) {
if (configuration == null) {
// Note: configuration may 'grow' during enterStates, but activation works downwards
@@ -1019,7 +1021,7 @@ public class SCXMLSemanticsImpl implemen
configuration = exctx.getScInstance().getCurrentStatus().getAllStates();
}
if (isInFinalState(parent.getParent(), configuration)) {
- exctx.addInternalEvent(new TriggerEvent("done.state."+parent.getParent().getId()
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("done.state."+parent.getParent().getId()
, TriggerEvent.CHANGE_EVENT));
}
}
@@ -1054,6 +1056,7 @@ public class SCXMLSemanticsImpl implemen
context.setLocal(Context.NAMESPACES_KEY, null);
src = String.valueOf(srcObj);
} catch (SCXMLExpressionException see) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, see.getMessage(), i);
}
}
@@ -1066,7 +1069,7 @@ public class SCXMLSemanticsImpl implemen
try {
inv = exctx.newInvoker(i.getType());
} catch (InvokerException ie) {
- exctx.addInternalEvent(new TriggerEvent("failed.invoke."+ts.getId(), TriggerEvent.ERROR_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("failed.invoke."+ts.getId(), TriggerEvent.ERROR_EVENT));
continue;
}
List<Param> params = i.params();
@@ -1080,6 +1083,7 @@ public class SCXMLSemanticsImpl implemen
try {
argValue = eval.eval(context, argExpr);
} catch (SCXMLExpressionException see) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, see.getMessage(), i);
}
} else {
@@ -1089,9 +1093,10 @@ public class SCXMLSemanticsImpl implemen
argValue = eval.evalLocation(context, p.getName());
if (argValue == null) {
// Generate error, 4.3.1 in WD-scxml-20080516
- exctx.addInternalEvent(new TriggerEvent(ts.getId() + ERR_ILLEGAL_ALLOC, TriggerEvent.ERROR_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(ts.getId() + ERR_ILLEGAL_ALLOC, TriggerEvent.ERROR_EVENT));
}
} catch (SCXMLExpressionException see) {
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent(TriggerEvent.ERROR_EXECUTION, TriggerEvent.ERROR_EVENT));
exctx.getErrorReporter().onError(ErrorConstants.EXPRESSION_ERROR, see.getMessage(), i);
}
}
@@ -1105,7 +1110,7 @@ public class SCXMLSemanticsImpl implemen
try {
inv.invoke(source, args);
} catch (InvokerException ie) {
- exctx.addInternalEvent(new TriggerEvent("failed.invoke."+ts.getId(), TriggerEvent.ERROR_EVENT));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("failed.invoke."+ts.getId(), TriggerEvent.ERROR_EVENT));
exctx.removeInvoker(i);
}
}
Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSExampleTest.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSExampleTest.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSExampleTest.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/env/javascript/JSExampleTest.java Thu Apr 3 09:13:22 2014
@@ -93,7 +93,7 @@ public class JSExampleTest {
@Override
public void execute(ActionExecutionContext exctx) throws ModelException, SCXMLExpressionException {
- exctx.addInternalEvent(new TriggerEvent("ok",TriggerEvent.SIGNAL_EVENT,"and its ok with me to"));
+ exctx.getInternalIOProcessor().addEvent(new TriggerEvent("ok",TriggerEvent.SIGNAL_EVENT,"and its ok with me to"));
}
}
Modified: commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/Hello.java
URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/Hello.java?rev=1584317&r1=1584316&r2=1584317&view=diff
==============================================================================
--- commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/Hello.java (original)
+++ commons/proper/scxml/trunk/src/test/java/org/apache/commons/scxml2/model/Hello.java Thu Apr 3 09:13:22 2014
@@ -63,7 +63,7 @@ public class Hello extends Action {
// For derived events payload testing
TriggerEvent event =
new TriggerEvent("helloevent", TriggerEvent.SIGNAL_EVENT, name);
- exctx.addInternalEvent(event);
+ exctx.getInternalIOProcessor().addEvent(event);
callbacks++;
}
}