Author: mriou
Date: Mon Sep 18 15:57:47 2006
New Revision: 447617
URL: http://svn.apache.org/viewvc?view=rev&rev=447617
Log:
Replace element is a copy of the entire element, including attributes.
Previously only child nodes were copied.
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=447617&r1=447616&r2=447617
==============================================================================
---
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
Mon Sep 18 15:57:47 2006
@@ -18,26 +18,37 @@
*/
package org.apache.ode.bpel.runtime;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.common.FaultException;
import org.apache.ode.bpel.evt.PartnerLinkModificationEvent;
import org.apache.ode.bpel.evt.ScopeEvent;
import org.apache.ode.bpel.evt.VariableModificationEvent;
import org.apache.ode.bpel.explang.EvaluationContext;
import org.apache.ode.bpel.explang.EvaluationException;
-import org.apache.ode.bpel.o.*;
+import org.apache.ode.bpel.o.OAssign;
import org.apache.ode.bpel.o.OAssign.LValueExpression;
import org.apache.ode.bpel.o.OAssign.PropertyRef;
import org.apache.ode.bpel.o.OAssign.VariableRef;
+import org.apache.ode.bpel.o.OElementVarType;
+import org.apache.ode.bpel.o.OExpression;
+import org.apache.ode.bpel.o.OLink;
+import org.apache.ode.bpel.o.OMessageVarType;
import org.apache.ode.bpel.o.OMessageVarType.Part;
import org.apache.ode.bpel.o.OProcess.OProperty;
+import org.apache.ode.bpel.o.OScope;
import org.apache.ode.bpel.o.OScope.Variable;
import org.apache.ode.bpel.runtime.channels.FaultData;
import org.apache.ode.utils.DOMUtils;
import org.apache.ode.utils.Namespaces;
import org.apache.ode.utils.msg.MessageBundle;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.w3c.dom.*;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
import javax.xml.namespace.QName;
import java.util.List;
@@ -393,7 +404,10 @@
__log.debug("ASSIGN Writing variable '" + lval.declaration.name +
"' value '" + DOMUtils.domToString(lvalue) +"'");
napi.commitChanges(lval, lvalue);
- }
+
System.out.println("#########################################");
+ System.out.println(DOMUtils.domToString(lvalue));
+
System.out.println("#########################################");
+ }
}
ScopeEvent se;
@@ -438,12 +452,15 @@
Node replacement = doc.importNode(src, true);
parent.replaceChild(replacement, dest);
} else {
- Node replacement =
doc.createElementNS(dest.getNamespaceURI(), dest
+ Element replacement =
doc.createElementNS(dest.getNamespaceURI(), dest
.getLocalName());
NodeList nl = src.getChildNodes();
for (int i = 0; i < nl.getLength(); ++i)
replacement.appendChild(doc.importNode(nl.item(i), true));
- parent.replaceChild(replacement, dest);
+ NamedNodeMap attrs = src.getAttributes();
+ for (int i = 0; i < attrs.getLength(); ++i)
+
replacement.setAttributeNodeNS((Attr)doc.importNode(attrs.item(i), true));
+ parent.replaceChild(replacement, dest);
}
}