/**
* {@inheritDoc}
*/
@Override
public void execute(ActionExecutionContext exctx) throws ModelException, SCXMLExpressionException {
Context ctx = exctx.getContext(getParentEnterableState());
Evaluator eval = exctx.getEvaluator();
ctx.setLocal(getNamespacesKey(), getNamespaces());
Object varObj = eval.eval(ctx, expr);
ctx.setLocal(getNamespacesKey(), null);
ctx.setLocal(name, varObj);
if (exctx.getAppLog().isDebugEnabled()) {
exctx.getAppLog().debug("<var>: Defined variable '" + name
+ "' with initial value '" + String.valueOf(varObj) + "'");
}
TriggerEvent ev = new TriggerEvent(name + ".change", TriggerEvent.CHANGE_EVENT);