/** * Proxy to {@link OdeRTInstanceContext#initializeVariable(Variable, Node)} then write properties. */ public Node initializeVariable(VariableInstance var, ScopeFrame scopeFrame, Node val) throws ExternalVariableModuleException { try { if (var.declaration.extVar != null) /* external variable */ { if (__log.isDebugEnabled()) __log.debug( "Initialize external variable: name=" + var.declaration + " value=" + DOMUtils.domToString(val)); Node reference = null; try { reference = fetchVariableData(var, scopeFrame, true); } catch (FaultException fe) { // In this context this is not necessarily a problem, since the assignment may re-init the // related var } if (reference != null) val = _brc.readExtVar(var, reference); return val; } else /* normal variable */ { if (__log.isDebugEnabled()) __log.debug( "Initialize variable: name=" + var.declaration + " value=" + DOMUtils.domToString(val)); return _brc.initializeVariable(var, val); } } finally { writeProperties(var, val); } }