__log.debug("RValue is a partner link, corresponding endpoint "
+ tempVal.getClass().getName() + " has value " + DOMUtils.domToString(tempVal));
retVal = tempVal;
} else if (from instanceof OAssign.Expression) {
List<Node> l;
OExpression expr = ((OAssign.Expression) from).expression;
try {
l = getBpelRuntimeContext().getExpLangRuntime().evaluate(expr, getEvaluationContext());
if (l.size() == 0 || l.get(0) == null || !(l.get(0) instanceof Element)) {
if (__log.isTraceEnabled()) {
__log.trace("evalRValue: OAssign.Expression: eval reult not Element or node=null");
}
} else {
Element element = (Element)l.get(0);
for (Map.Entry<String, String> entry : DOMUtils.getMyNSContext(element).toMap().entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (entry.getKey() == null || entry.getKey().length() == 0) {
element.setAttributeNS(DOMUtils.NS_URI_XMLNS, "xmlns", value);
} else {
element.setAttributeNS(DOMUtils.NS_URI_XMLNS, "xmlns:" + key, value);
}
}
}
} catch (EvaluationException e) {
String msg = __msgs.msgEvalException(from.toString(), e.getMessage());
if (__log.isDebugEnabled()) __log.debug(from + ": " + msg);
if (e.getCause() instanceof FaultException) throw (FaultException)e.getCause();
throw new FaultException(getOAsssign().getOwner().constants.qnSelectionFailure, msg);
}
if (l.size() == 0) {
String msg = __msgs.msgRValueNoNodesSelected(expr.toString());
if (__log.isDebugEnabled()) __log.debug(from + ": " + msg);
throw new FaultException(getOAsssign().getOwner().constants.qnSelectionFailure, msg, new Throwable("ignoreMissingFromData"));
} else if (l.size() > 1) {
String msg = __msgs.msgRValueMultipleNodesSelected(expr.toString());
if (__log.isDebugEnabled()) __log.debug(from + ": " + msg);
throw new FaultException(getOAsssign().getOwner().constants.qnSelectionFailure, msg);
}
retVal = (Node) l.get(0);
} else if (from instanceof OAssign.Literal) {