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;
     }
 
     /**


Reply via email to