Author: mriou
Date: Fri Oct 20 10:34:23 2006
New Revision: 466217
URL: http://svn.apache.org/viewvc?view=rev&rev=466217
Log:
I think it makes more sense to have the lvalue set as the wrapper element when
it's a text node. Otherwise casting it to an Element (for the replaceElement
logic when lvaluePtr and rvalue are both Elements) will fail. Beside it doesn't
seem to break other assignments (replaceContent overwrites it).
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java?view=diff&rev=466217&r1=466216&r2=466217
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
(original)
+++
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
Fri Oct 20 10:34:23 2006
@@ -118,6 +118,7 @@
"temporary-simple-type-wrapper");
doc.appendChild(tempwrapper);
tempwrapper.appendChild(val);
+ val = tempwrapper;
} else
doc.appendChild(val);
lval = getBpelRuntimeContext().initializeVariable(lvar, val);
@@ -448,7 +449,7 @@
if (keepSrcElement) {
Element replacement = (Element)doc.importNode(src, true);
parent.replaceChild(replacement, ptr);
- return (lval == ptr) ? replacement : lval;
+ return (lval == ptr) ? replacement : lval;
}
Element replacement = doc.createElementNS(ptr.getNamespaceURI(), ptr
@@ -460,7 +461,7 @@
for (int i = 0; i < attrs.getLength(); ++i)
replacement.setAttributeNodeNS((Attr)doc.importNode(attrs.item(i),
true));
parent.replaceChild(replacement, ptr);
- return (lval == ptr) ? replacement : lval;
+ return (lval == ptr) ? replacement : lval;
}
/**