You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2006/10/16 19:37:51 UTC

svn commit: r464578 - in /incubator/ode/trunk: bpel-el-xpath20/ bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/ bpel-el-xpath20/src/test/ bpel-el-xpath20/src/test/java/ bpel-el-xpath20/src/test/java/org/ bpel-el-xpath20/src/tes...

Author: mszefler
Date: Mon Oct 16 10:37:49 2006
New Revision: 464578

URL: http://svn.apache.org/viewvc?view=rev&rev=464578
Log:
Fixed (?? perhaps) Saxon 2.0 problem with empty node sets.


Added:
    incubator/ode/trunk/bpel-el-xpath20/src/test/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java
    incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntimeTest.java
    incubator/ode/trunk/bpel-el-xpath20/src/test/resources/
    incubator/ode/trunk/bpel-el-xpath20/src/test/resources/variables.xml
    incubator/ode/trunk/bpel-obj/src/test/
      - copied from r454410, incubator/ode/trunk/bpel-obj/src/main/test/
Removed:
    incubator/ode/trunk/bpel-obj/src/main/test/
Modified:
    incubator/ode/trunk/bpel-el-xpath20/.classpath
    incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java
    incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
    incubator/ode/trunk/bpel-obj/.classpath
    incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OElementVarType.java
    incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OXsdTypeVarType.java

Modified: incubator/ode/trunk/bpel-el-xpath20/.classpath
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/.classpath?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/.classpath (original)
+++ incubator/ode/trunk/bpel-el-xpath20/.classpath Mon Oct 16 10:37:49 2006
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
@@ -29,5 +30,7 @@
 	<classpathentry exported="true" kind="var" path="M2_REPO/net/sf/saxon/saxon/8.7/saxon-8.7.jar"/>
 	<classpathentry exported="true" kind="var" path="M2_REPO/net/sf/saxon/saxon-dom/8.7/saxon-dom-8.7.jar"/>
 	<classpathentry exported="true" kind="var" path="M2_REPO/net/sf/saxon/saxon-xpath/8.7/saxon-xpath-8.7.jar"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java (original)
+++ incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java Mon Oct 16 10:37:49 2006
@@ -34,6 +34,7 @@
 import org.apache.ode.utils.xsd.XSTypes;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 import javax.xml.namespace.QName;
 import javax.xml.xpath.XPathVariableResolver;
@@ -99,12 +100,10 @@
                 if (part != null && part.type instanceof OXsdTypeVarType && ((OXsdTypeVarType)part.type).simple)
                 	return getSimpleContent(variableNode,((OXsdTypeVarType)part.type).xsdType);
 
-                // Saxon expects a nodelist, everything else will result in a wrong result...
-                //Document doc = DOMUtils.newDocument();
-                //doc.appendChild(doc.importNode(variableNode, true));
-                //return doc.getChildNodes();
-                	
-                return variableNode.getChildNodes();
+                
+                // Saxon expects a node list, this nodelist should contain exactly one item, the attribute
+                // value
+                return new SingletonNodeList(variableNode);
                 
             }catch(FaultException e){
                 throw new WrappedResolverException(e);
@@ -130,4 +129,23 @@
         else return text;
     }
 
+    
+    private static class SingletonNodeList implements NodeList {
+        private Node _node;
+        
+        SingletonNodeList(Node node) {
+            _node = node;
+        }
+        
+        public Node item(int index) {
+            if (index != 0)
+                throw new IndexOutOfBoundsException(""+index);
+            return _node;
+        }
+
+        public int getLength() {
+            return 1;
+        }
+        
+    }
 }

Modified: incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java (original)
+++ incubator/ode/trunk/bpel-el-xpath20/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java Mon Oct 16 10:37:49 2006
@@ -96,7 +96,7 @@
      * @see org.apache.ode.bpel.explang.ExpressionLanguageRuntime#evaluate(org.apache.ode.bpel.o.OExpression, org.apache.ode.bpel.explang.EvaluationContext)
      */
     public List evaluate(OExpression cexp, EvaluationContext ctx) throws FaultException, EvaluationException {
-        List result = null;
+        List result;
         Object someRes = evaluate(cexp, ctx, XPathConstants.NODESET);
         if (someRes instanceof List) {
             result = (List) someRes;
@@ -118,6 +118,8 @@
                 if (val.getNodeType() == Node.DOCUMENT_NODE) val = ((Document)val).getDocumentElement();
                 result.add(val);
             }
+        } else {
+            result = null;
         }
 
         return result;

Added: incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java?view=auto&rev=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java (added)
+++ incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java Mon Oct 16 10:37:49 2006
@@ -0,0 +1,173 @@
+package org.apache.ode.bpel.elang.xpath20.runtime;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.wsdl.Operation;
+import javax.xml.namespace.QName;
+
+import org.apache.ode.bom.api.Activity;
+import org.apache.ode.bom.api.BpelObject;
+import org.apache.ode.bom.api.Expression;
+import org.apache.ode.bpel.capi.CompilationException;
+import org.apache.ode.bpel.capi.CompilerContext;
+import org.apache.ode.bpel.o.OActivity;
+import org.apache.ode.bpel.o.OElementVarType;
+import org.apache.ode.bpel.o.OExpression;
+import org.apache.ode.bpel.o.OLValueExpression;
+import org.apache.ode.bpel.o.OLink;
+import org.apache.ode.bpel.o.OMessageVarType;
+import org.apache.ode.bpel.o.OPartnerLink;
+import org.apache.ode.bpel.o.OProcess;
+import org.apache.ode.bpel.o.OScope;
+import org.apache.ode.bpel.o.OVarType;
+import org.apache.ode.bpel.o.OXsdTypeVarType;
+import org.apache.ode.bpel.o.OXslSheet;
+import org.apache.ode.bpel.o.OMessageVarType.Part;
+import org.apache.ode.bpel.o.OProcess.OProperty;
+import org.apache.ode.bpel.o.OProcess.OPropertyAlias;
+import org.apache.ode.bpel.o.OScope.CorrelationSet;
+import org.apache.ode.bpel.o.OScope.Variable;
+
+public class MockCompilerContext implements CompilerContext {
+    private OProcess _oprocess = new OProcess("20");
+    private Map<String , Variable> _vars =new  HashMap<String, Variable>();
+    
+    public OExpression constantExpr(boolean value) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+    public OExpression compileJoinCondition(Expression expr) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OExpression compileExpr(Expression expr) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OLValueExpression compileLValueExpr(Expression expr) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OXslSheet compileXslt(String docStrUri) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OXsdTypeVarType resolveXsdType(QName typeName) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OProperty resolveProperty(QName name) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Variable resolveVariable(String name) throws CompilationException {
+        return _vars.get(name);
+    }
+
+    public List<Variable> getAccessibleVariables() {
+        return new ArrayList<Variable>(_vars.values());
+    }
+
+    public Variable resolveMessageVariable(String inputVar) throws CompilationException {
+        return _vars.get(inputVar);
+    }
+
+    public Variable resolveMessageVariable(String inputVar, QName messageType) throws CompilationException {
+        return _vars.get(inputVar);
+    }
+
+    public Part resolvePart(Variable variable, String partname) throws CompilationException {
+        return ((OMessageVarType)variable.type).parts.get(partname);
+    }
+
+    public OActivity compile(Activity child) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OActivity compileSLC(Activity source) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OPartnerLink resolvePartnerLink(String name) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Operation resolvePartnerRoleOperation(OPartnerLink partnerLink, String operationName) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Operation resolveMyRoleOperation(OPartnerLink partnerLink, String operationName) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OPropertyAlias resolvePropertyAlias(Variable variable, QName property) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void recoveredFromError(Object where, CompilationException bce) throws CompilationException {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public OLink resolveLink(String linkName) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OScope resolveCompensatableScope(String scopeToCompensate) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public OProcess getOProcess() throws CompilationException {
+        return _oprocess;
+    }
+
+    public CorrelationSet resolveCorrelationSet(String csetName) throws CompilationException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getSourceLocation() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void compile(OActivity context, BpelObject activity, Runnable run) {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public boolean isPartnerLinkAssigned(String plink) {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    public List<OActivity> getActivityStack() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void registerElementVar(String name, QName type) {
+        OElementVarType varType = new OElementVarType(getOProcess(),type);
+        OScope.Variable var = new OScope.Variable(getOProcess(),varType);
+        var.name = name;
+        _vars.put(name, var);
+    }
+
+}

Added: incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntimeTest.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntimeTest.java?view=auto&rev=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntimeTest.java (added)
+++ incubator/ode/trunk/bpel-el-xpath20/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntimeTest.java Mon Oct 16 10:37:49 2006
@@ -0,0 +1,134 @@
+package org.apache.ode.bpel.elang.xpath20.runtime;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+import org.apache.ode.bom.impl.nodes.ExpressionImpl;
+import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.elang.xpath20.compiler.XPath20ExpressionCompilerBPEL20;
+import org.apache.ode.bpel.elang.xpath20.o.OXPath20ExpressionBPEL20;
+import org.apache.ode.bpel.explang.EvaluationContext;
+import org.apache.ode.bpel.o.OExpression;
+import org.apache.ode.bpel.o.OLink;
+import org.apache.ode.bpel.o.OMessageVarType.Part;
+import org.apache.ode.bpel.o.OProcess.OProperty;
+import org.apache.ode.bpel.o.OScope.Variable;
+import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.NSContext;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class XPath20ExpressionRuntimeTest extends TestCase implements EvaluationContext {
+    
+    private XPath20ExpressionRuntime _runtime;
+    private Map<String, Node> _vars;
+    private XPath20ExpressionCompilerBPEL20 _compiler;
+
+    private MockCompilerContext _cc;
+    private Document _vardoc;
+    public XPath20ExpressionRuntimeTest() {}
+    
+    @Override
+    public void setUp() throws Exception {
+        _vars = new HashMap<String, Node>();
+        _cc = new MockCompilerContext();
+        _runtime = new XPath20ExpressionRuntime();       
+        _runtime.initialize(new HashMap());
+        _compiler = new XPath20ExpressionCompilerBPEL20();
+        _compiler.setCompilerContext(_cc);
+        
+        _vardoc = DOMUtils.parse(getClass().getResourceAsStream("/variables.xml"));
+        NodeList variables = _vardoc.getDocumentElement().getChildNodes();
+        for (int i = 0; i < variables.getLength(); ++i) {
+            Node n = variables.item(i);
+            if (n.getNodeType()!=Node.ELEMENT_NODE)
+                continue;
+            Element v = (Element) n;
+            v.normalize();
+            if (v.getLocalName().equals("elementVar")) {
+                String name = v.getAttribute("name");
+                Node cn = v.getFirstChild();
+                while (cn != null && cn.getNodeType() != Node.ELEMENT_NODE)
+                    cn = cn.getNextSibling();
+                Element el = (Element)cn;
+                _cc.registerElementVar(name, new QName(el.getNamespaceURI(),el.getLocalName()));
+                _vars.put(name,el);
+            }
+        }
+    }
+
+    public void testCompilation() throws Exception {
+        compile("$foo");
+    }
+    
+    public void testVariableSelection() throws Exception {
+        OXPath20ExpressionBPEL20 exp = compile("$foo");
+        Node retVal = _runtime.evaluateNode(exp, this);
+        assertNotNull(retVal);
+        assertSame(retVal , _vars.get("foo"));
+        assertSame(retVal.getOwnerDocument(),_vardoc);
+    }
+
+    public void testVariableSelectionEmpty() throws Exception {
+        OXPath20ExpressionBPEL20 exp = compile("$emptyVar");
+        Node retVal = _runtime.evaluateNode(exp, this);
+        assertNotNull(retVal);
+        assertSame(retVal , _vars.get("emptyVar"));
+        assertTrue(DOMUtils.getFirstChildElement((Element)retVal).getLocalName().equals("empty"));
+    }
+
+    public void testVariableSelectionReallyEmpty() throws Exception {
+        OXPath20ExpressionBPEL20 exp = compile("$reallyEmptyVar");
+        Node retVal = _runtime.evaluateNode(exp, this);
+        assertNotNull(retVal);
+        assertSame(retVal , _vars.get("reallyEmptyVar"));
+        assertNull(DOMUtils.getFirstChildElement((Element)retVal));
+    }
+
+    public Node readVariable(Variable variable, Part part) throws FaultException {
+        return _vars.get(variable.name);
+    }
+
+    public Node getPartData(Element message, Part part) throws FaultException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String readMessageProperty(Variable variable, OProperty property) throws FaultException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public boolean isLinkActive(OLink olink) throws FaultException {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    public Node getRootNode() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Node evaluateQuery(Node root, OExpression expr) throws FaultException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Long getProcessId() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+    
+
+    private OXPath20ExpressionBPEL20 compile(String xpath) {
+        ExpressionImpl exp = new ExpressionImpl();
+        exp.setXPathString(xpath);
+        return (OXPath20ExpressionBPEL20)_compiler.compileLValue(exp);
+    }
+}

Added: incubator/ode/trunk/bpel-el-xpath20/src/test/resources/variables.xml
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-el-xpath20/src/test/resources/variables.xml?view=auto&rev=464578
==============================================================================
--- incubator/ode/trunk/bpel-el-xpath20/src/test/resources/variables.xml (added)
+++ incubator/ode/trunk/bpel-el-xpath20/src/test/resources/variables.xml Mon Oct 16 10:37:49 2006
@@ -0,0 +1,47 @@
+<variables>
+	<elementVar name="emptyVar"  xmlns:tns="http://foobar" >
+					<tns:ApplicationData>
+						<tns:empty/>
+                    </tns:ApplicationData>
+	</elementVar>
+
+   <elementVar name="reallyEmptyVar"  xmlns:tns="http://foobar" >
+					<tns:ApplicationData/>
+	</elementVar>
+	
+	<elementVar name="foo"  xmlns:tns="http://foobar" >
+					<tns:ApplicationData>
+                             <tns:ApplicationInfo>
+                                 <tns:senderId>string</tns:senderId>
+                                 <tns:senderName>string</tns:senderName>
+                                 <tns:applicationId>string</tns:applicationId>
+                                 <tns:applicationName>string</tns:applicationName>
+                                 <tns:applicationType>string</tns:applicationType>
+                                 <tns:applicationDate>string</tns:applicationDate>
+                                 <tns:applicationFee>string</tns:applicationFee>
+                                 <tns:comments>string</tns:comments>
+                             </tns:ApplicationInfo>
+                             <tns:AllocationInfo>
+                                 <tns:allocateApplication>boolean</tns:allocateApplication>
+                                 <tns:allocateTo>string</tns:allocateTo>
+                             </tns:AllocationInfo>
+                             <tns:AssessmentManagerInfo>
+                                 <tns:comments>string</tns:comments>
+                                 <tns:acceptApplication>boolean</tns:acceptApplication>
+                                 <tns:pathIndicators>
+                                     <tns:dasps>boolean</tns:dasps>
+                                     <tns:code>boolean</tns:code>
+                                     <tns:impact>boolean</tns:impact>
+                                     <tns:referralAgency>boolean</tns:referralAgency>
+                                     <tns:referralRequired>boolean</tns:referralRequired>
+                                 </tns:pathIndicators>
+                            </tns:AssessmentManagerInfo>
+                             <tns:PaymentInfo>
+                                 <tns:invoiceNumber>string</tns:invoiceNumber>
+                                 <tns:paymentMade>boolean</tns:paymentMade>
+                                 <tns:receiptNumber>string</tns:receiptNumber>
+                             </tns:PaymentInfo>
+                         </tns:ApplicationData>
+
+	</elementVar>
+</variables>
\ No newline at end of file

Modified: incubator/ode/trunk/bpel-obj/.classpath
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-obj/.classpath?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-obj/.classpath (original)
+++ incubator/ode/trunk/bpel-obj/.classpath Mon Oct 16 10:37:49 2006
@@ -1,13 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-  <classpathentry kind="src" path="src/main/java"/>
-  <classpathentry kind="output" path="target/classes"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
-  <classpathentry kind="src" path="/ode-utils"/>
-  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.12/log4j-1.2.12.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.2/commons-pool-1.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar"/>
-</classpath>
\ No newline at end of file
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="src" path="/ode-utils"/>
+	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.2/commons-pool-1.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OElementVarType.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OElementVarType.java?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OElementVarType.java (original)
+++ incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OElementVarType.java Mon Oct 16 10:37:49 2006
@@ -37,9 +37,6 @@
 	public Node newInstance(Document doc) {
 		Element el = doc.createElementNS(elementType.getNamespaceURI(),
 				elementType.getLocalPart());
-        // Pre-filling the element with an empty node to avoid an empty nodeset
-        // when selecting the element child nodes
-        el.appendChild(doc.createElement("empty"));        
         return el;
 	}
 }

Modified: incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OXsdTypeVarType.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OXsdTypeVarType.java?view=diff&rev=464578&r1=464577&r2=464578
==============================================================================
--- incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OXsdTypeVarType.java (original)
+++ incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OXsdTypeVarType.java Mon Oct 16 10:37:49 2006
@@ -43,9 +43,6 @@
             return doc.createTextNode("");
         else {
             Element el = doc.createElement("xsd-complex-type-wrapper");
-            // Pre-filling the wrapper element with an empty node to avoid an empty nodeset
-            // when selecting the element child nodes
-            el.appendChild(doc.createElement("empty"));
             return el;
         }
     }