Author: mszefler
Date: Mon Oct 16 15:15:04 2006
New Revision: 464695
URL: http://svn.apache.org/viewvc?view=rev&rev=464695
Log:
Fixed some oddities in replaceElement assignment.
Modified:
incubator/ode/trunk/bpel-dd/.project
incubator/ode/trunk/bpel-el-xpath10/src/main/java/org/apache/ode/bpel/elang/xpath10/o/OXPath10Expression.java
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
Modified: incubator/ode/trunk/bpel-dd/.project
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-dd/.project?view=diff&rev=464695&r1=464694&r2=464695
==============================================================================
--- incubator/ode/trunk/bpel-dd/.project (original)
+++ incubator/ode/trunk/bpel-dd/.project Mon Oct 16 15:15:04 2006
@@ -7,16 +7,6 @@
<project>ode-utils</project>
</projects>
<buildSpec>
- <buildCommand>
-
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
-
<value><project>/.externalToolBuilders/org.eclipse.jdt.core.javabuilder.launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
Modified:
incubator/ode/trunk/bpel-el-xpath10/src/main/java/org/apache/ode/bpel/elang/xpath10/o/OXPath10Expression.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath10/src/main/java/org/apache/ode/bpel/elang/xpath10/o/OXPath10Expression.java?view=diff&rev=464695&r1=464694&r2=464695
==============================================================================
---
incubator/ode/trunk/bpel-el-xpath10/src/main/java/org/apache/ode/bpel/elang/xpath10/o/OXPath10Expression.java
(original)
+++
incubator/ode/trunk/bpel-el-xpath10/src/main/java/org/apache/ode/bpel/elang/xpath10/o/OXPath10Expression.java
Mon Oct 16 15:15:04 2006
@@ -37,18 +37,18 @@
private static final long serialVersionUID = -1L;
/** Map from query name to variable declaration. */
- public final Map<String, OScope.Variable> vars =
+ public HashMap<String, OScope.Variable> vars =
new HashMap<String, OScope.Variable>();
- public final Map<String, OProcess.OProperty> properties =
+ public final HashMap<String, OProcess.OProperty> properties =
new HashMap<String, OProcess.OProperty>();
- public final Map<String, OLink> links = new HashMap<String,OLink>();
+ public final HashMap<String, OLink> links = new HashMap<String,OLink>();
- public final Map<URI,OXslSheet> xslSheets = new HashMap<URI, OXslSheet>();
+ public final HashMap<URI,OXslSheet> xslSheets = new HashMap<URI,
OXslSheet>();
/** Map getVariableData invocation signature to compiled objects. */
- private final Map<SigGetVariableData,OSigGetVariableData>
_getVariableDataSigs =
+ private final HashMap<SigGetVariableData,OSigGetVariableData>
_getVariableDataSigs =
new HashMap<SigGetVariableData,OSigGetVariableData>();
public String xpath;
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=464695&r1=464694&r2=464695
==============================================================================
---
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 Oct 16 15:15:04 2006
@@ -392,7 +392,7 @@
if (rvalue.getNodeType() == Node.ELEMENT_NODE
&& lvaluePtr.getNodeType() == Node.ELEMENT_NODE) {
- replaceElement((Element) lvaluePtr, (Element) rvalue,
+ lvalue = replaceElement((Element)lvalue, (Element)
lvaluePtr, (Element) rvalue,
ocopy.keepSrcElementName);
} else {
lvalue = replaceContent(lvalue, lvaluePtr, rvalue
@@ -441,24 +441,26 @@
getBpelRuntimeContext().writeEndpointReference(plval, (Element)rvalue);
}
- private void replaceElement(Element dest, Element src,
+ private Element replaceElement(Element lval, Element ptr, Element src,
boolean keepSrcElement) {
- Document doc = dest.getOwnerDocument();
- Node parent = dest.getParentNode();
+ Document doc = ptr.getOwnerDocument();
+ Node parent = ptr.getParentNode();
if (keepSrcElement) {
- Node replacement = doc.importNode(src, true);
- parent.replaceChild(replacement, dest);
- } else {
- 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));
- 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);
- }
+ Element replacement = (Element)doc.importNode(src, true);
+ parent.replaceChild(replacement, ptr);
+ return (lval == ptr) ? replacement : lval;
+ }
+
+ Element replacement = doc.createElementNS(ptr.getNamespaceURI(), ptr
+ .getLocalName());
+ NodeList nl = src.getChildNodes();
+ for (int i = 0; i < nl.getLength(); ++i)
+ replacement.appendChild(doc.importNode(nl.item(i), true));
+ NamedNodeMap attrs = src.getAttributes();
+ 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;
}
/**