You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/02/15 15:22:55 UTC
svn commit: r910222 - in /ode/branches/APACHE_ODE_1.X:
bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java
bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
Author: rr
Date: Mon Feb 15 14:22:54 2010
New Revision: 910222
URL: http://svn.apache.org/viewvc?rev=910222&view=rev
Log:
ODE-764: Weird XML constant parsing problem fix
Modified:
ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
Modified: ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java?rev=910222&r1=910221&r2=910222&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java Mon Feb 15 14:22:54 2010
@@ -18,18 +18,16 @@
*/
package org.apache.ode.bpel.o;
-import org.apache.ode.bpel.o.OScope.Variable;
-import org.apache.ode.utils.DOMUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.SAXException;
-
-import javax.xml.namespace.QName;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import javax.xml.namespace.QName;
+
+import org.apache.ode.bpel.o.OScope.Variable;
+import org.apache.ode.utils.DOMUtils;
+import org.w3c.dom.Document;
+
public class OAssign extends OActivity {
static final long serialVersionUID = -1L ;
@@ -80,37 +78,39 @@
public static class Literal extends OBase implements RValue {
private static final long serialVersionUID = 1L;
- public transient String stringLiteral;
+ public transient String xmlLiteral;
public Literal(OProcess owner, Document xmlLiteral) {
super(owner);
if (xmlLiteral == null)
throw new IllegalArgumentException("null xmlLiteral!");
- this.stringLiteral = DOMUtils.domToString(xmlLiteral);
+ this.xmlLiteral = DOMUtils.domToString(xmlLiteral);
}
public String toString() {
- return "{Literal " + stringLiteral + "}";
+ return "{Literal " + xmlLiteral + "}";
}
private void writeObject(java.io.ObjectOutputStream out)
throws IOException
{
- out.writeObject(stringLiteral);
+ out.writeObject(xmlLiteral);
}
private void readObject(java.io.ObjectInputStream in)
throws IOException
{
+ String domStr = null;
try {
- stringLiteral = (String) in.readObject();
+ domStr = (String) in.readObject();
} catch (ClassNotFoundException e) {
throw (IOException)(new IOException("XML de-serialization error.")).initCause(e);
}
+ xmlLiteral = domStr;
}
- public Document getXmlLiteral() throws SAXException, IOException {
- return DOMUtils.stringToDOM(stringLiteral).getOwnerDocument();
+ public String getXmlLiteral() {
+ return xmlLiteral;
}
}
Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java?rev=910222&r1=910221&r2=910222&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java Mon Feb 15 14:22:54 2010
@@ -239,14 +239,12 @@
}
retVal = (Node) l.get(0);
} else if (from instanceof OAssign.Literal) {
+ String literal = ((OAssign.Literal) from).getXmlLiteral();
Element literalRoot;
try {
- literalRoot = ((OAssign.Literal) from).getXmlLiteral().getDocumentElement();
+ literalRoot = DOMUtils.stringToDOM(literal);
} catch (Exception 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);
+ throw new RuntimeException("XML literal parsing failed " + literal, e);
}
assert literalRoot.getLocalName().equals("literal");
// We'd like a single text node...