Author: mriou
Date: Wed Apr 29 04:57:59 2009
New Revision: 769657

URL: http://svn.apache.org/viewvc?rev=769657&view=rev
Log:
ODE-236 patch fix.

Modified:
    
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.bpel
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.wsdl
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.xsd
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/deploy.xml
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/test.properties
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.bpel
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.wsdl
    ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/deploy.xml
    
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/test.properties
    
ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/AssignHelper.java

Modified: 
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
 (original)
+++ 
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
 Wed Apr 29 04:57:59 2009
@@ -1119,9 +1119,9 @@
             compile(oscope, src, new Runnable() {
                 public void run() {
                        
-                       //madars.vitolins _at gmail.com 2009.04.13 - moved 
before variables, because
-                       //inline variable initialization may depend on partner 
links
-                       for (PartnerLink plink : src.getPartnerLinks()) {
+                //madars.vitolins _at gmail.com 2009.04.13 - moved before 
variables, because
+                //inline variable initialization may depend on partner links
+                for (PartnerLink plink : src.getPartnerLinks()) {
                         try {
                             compile(plink);
                         } catch (CompilationException ce) {
@@ -1373,18 +1373,19 @@
         }
 
         OScope.Variable ovar = new OScope.Variable(_oprocess, varType);
-       //madars.vitolins _at gmail.com 2009.03.25 Inline variable 
initialization
-       //reusing 'compileFrom()' from AssignGenerator
-        AssignGenerator agen = new AssignGenerator();
-        agen.setContext(this);
         ovar.name = src.getName();
         ovar.declaringScope = oscope;
         ovar.debugInfo = createDebugInfo(src, null);
         From varfromSpec=src.getFrom();
-        if (varfromSpec!=null)
-               ovar.from=agen.compileFrom(varfromSpec);
-        else
-               ovar.from=null;
+        if (varfromSpec!=null){
+                //madars.vitolins _at gmail.com 2009.03.25 Inline variable 
initialization
+                //reusing 'compileFrom()' from AssignGenerator
+                AssignGenerator agen = new AssignGenerator();
+                agen.setContext(this);
+                ovar.from=agen.compileFrom(varfromSpec);
+        }else{
+                ovar.from=null;
+        }
         ovar.extVar = compileExtVar(src);
 
         oscope.addLocalVariable(ovar);

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.bpel
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.bpel?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.bpel
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.bpel
 Wed Apr 29 04:57:59 2009
@@ -118,123 +118,3 @@
         <reply name="end" partnerLink="ExtVarPartnerLink" 
portType="test:ExtVarPortType" operation="extvar" variable="myVar"/>
     </sequence>
 </process>
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<process name="ExtVarInlineInit" targetNamespace="http://ode/bpel/unit-test"; 
-    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"; 
-    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"; 
-    xmlns:tns="http://ode/bpel/unit-test"; 
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
-    xmlns:test="http://ode/bpel/unit-test.wsdl"; 
-    xmlns:foo="http://foo/extvar"; 
-    xmlns:xvar="http://ode.apache.org/externalVariables"; 
-    queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" 
-    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
-
-    <import namespace="http://foo/extvar"; location="ExtVarInlineInit.xsd" 
importType="http://www.w3.org/2001/XMLSchema"/>
-
-    <import location="ExtVarInlineInit.wsdl" 
namespace="http://ode/bpel/unit-test.wsdl"; 
importType="http://schemas.xmlsoap.org/wsdl/"; />
-
-
-    <partnerLinks>
-        <partnerLink name="ExtVarPartnerLink" 
partnerLinkType="test:ExtVarPartnerLinkType" myRole="me" />
-    </partnerLinks>
-
-    <variables>
-        <variable name="myVar" messageType="test:ExtVarMessage"/>
-        <variable name="costPerCustomer-keys" 
element="foo:costPerCustomer-keys"/>
-       <!-- Test the inline variable initialization! -->
-        <variable name="costPerCustomer"      element="foo:costPerCustomer" 
xvar:id="costPerCustomer"   xvar:relates-to="costPerCustomer-keys">
-                <from>
-                    <literal>
-                        <foo:costPerCustomer>
-                            <foo:key1>k1</foo:key1>
-                            <foo:value0>v1</foo:value0>
-                        </foo:costPerCustomer>
-                    </literal>
-                </from>                
-       </variable>
-    </variables>
-
-    <sequence>
-        <receive name="start" partnerLink="ExtVarPartnerLink" 
portType="test:ExtVarPortType" 
-            operation="extvar" variable="myVar" createInstance="yes"/>
-
-          
-        <!-- insert new row by assigning directly into the external variable 
-->
-<!--        
-        <assign name="insertNewRow">
-            <copy>
-                <from>
-                    <literal>
-                        <foo:costPerCustomer>
-                            <foo:key1>k1</foo:key1>
-                            <foo:value0>v1</foo:value0>
-                        </foo:costPerCustomer>
-                    </literal>
-                </from>
-                <to>$costPerCustomer</to>
-            </copy>
-        </assign>
--->
-       <!-- Test key -->
-        <if>
-            <condition>normalize-space($costPerCustomer-keys/foo:key1) = 
'k1'</condition>
-            <empty/>
-            <else>
-                <throw faultName="foo:key1NotCreated"/>
-            </else>
-        </if>
-       <!-- Test value -->
-        <if>
-            <condition>normalize-space($costPerCustomer/foo:value0) = 
'v1'</condition>
-            <empty/>
-            <else>
-                <throw faultName="foo:key1NotCreated"/>
-            </else>
-        </if>
-
-        <!-- send back response -->
-
-        <assign name="assignResponse">
-            <copy>
-                <from>
-                    <literal>
-                        <foo:response>
-                            <foo:keys/>
-                            <foo:values/>
-                        </foo:response>
-                    </literal>
-                </from>
-                <to>$myVar.TestPart</to>
-            </copy>
-            <copy>
-                <from>$costPerCustomer-keys</from>
-                <to>$myVar.TestPart/foo:keys</to>
-            </copy>
-            <copy>
-                <from>$costPerCustomer</from>
-                <to>$myVar.TestPart/foo:values</to>
-            </copy>
-        </assign>
-
-        <reply name="end" partnerLink="ExtVarPartnerLink" 
portType="test:ExtVarPortType" operation="extvar" variable="myVar"/>
-    </sequence>
-</process>

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.wsdl
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.wsdl?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.wsdl
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.wsdl
 Wed Apr 29 04:57:59 2009
@@ -67,72 +67,3 @@
    </plnk:partnerLinkType>
 </wsdl:definitions>
 
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<wsdl:definitions 
-    targetNamespace="http://ode/bpel/unit-test.wsdl";
-    xmlns="http://schemas.xmlsoap.org/wsdl/";
-    xmlns:tns="http://ode/bpel/unit-test.wsdl";
-    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
-    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
-    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
-    xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";>
-
-    
-    <wsdl:message name="ExtVarMessage">
-        <wsdl:part name="TestPart" type="xsd:string"/>
-    </wsdl:message>
-    
-    <wsdl:portType name="ExtVarPortType">
-        <wsdl:operation name="extvar">
-            <wsdl:input message="tns:ExtVarMessage" name="TestIn"/>
-            <wsdl:output message="tns:ExtVarMessage" name="TestOut"/>
-        </wsdl:operation>    
-    </wsdl:portType>
-    
-     <wsdl:binding name="ExtVarSoapBinding" type="tns:ExtVarPortType">
-        <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="extvar">
-            <soap:operation soapAction="" style="rpc"/>
-            <wsdl:input>
-                <soap:body
-                    namespace="http://ode/bpel/unit-test.wsdl";
-                    use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body
-                    namespace="http://ode/bpel/unit-test.wsdl"; 
-                    use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:service name="ExtVarService">
-               <wsdl:port name="ExtVarPort" binding="tns:ExtVarSoapBinding">
-               <soap:address 
location="http://localhost:8080/ode/processes/extvarinlineinit"/>
-               </wsdl:port>
-    </wsdl:service>
-    
-   <plnk:partnerLinkType name="ExtVarPartnerLinkType">
-       <plnk:role name="me" portType="tns:ExtVarPortType"/>
-   </plnk:partnerLinkType>
-</wsdl:definitions>
-

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.xsd
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.xsd?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.xsd
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/ExtVarInlineInit.xsd
 Wed Apr 29 04:57:59 2009
@@ -39,44 +39,4 @@
     </element>
 
 </schema>
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://foo/extvar"; 
-    xmlns:tns="http://foo/extvar"; 
-    xmlns:xs="http://www.w3.org/2001/XMLSchema";
-    elementFormDefault="qualified">
 
-    <element name="costPerCustomer">
-        <complexType>
-            <sequence>
-                <element name="value0" type="xs:string"/>
-            </sequence>
-        </complexType>
-    </element>
-    
-    <element name="costPerCustomer-keys">
-        <complexType>
-            <sequence>
-                <element name="key1" type="xs:string"/>
-            </sequence>
-        </complexType>
-    </element>
-
-</schema>
\ No newline at end of file

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/deploy.xml
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/deploy.xml?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/deploy.xml 
(original)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/deploy.xml 
Wed Apr 29 04:57:59 2009
@@ -41,48 +41,3 @@
 
     </process>
 </deploy>
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"; 
-    xmlns:pns="http://ode/bpel/unit-test"; 
-    xmlns:wns="http://ode/bpel/unit-test.wsdl"; 
-    xmlns:xvar="http://ode.apache.org/externalVariables"; 
-    xmlns:jdbc="http://ode.apache.org/externalVariables/jdbc";>
-       
-    <process name="pns:ExtVarInlineInit">
-        <active>true</active>
-        <provide partnerLink="ExtVarPartnerLink">
-            <service name="wns:ExtVarService" port="ExtVarPort"/>
-        </provide>
-
-        <xvar:externalVariable id="costPerCustomer">
-            <jdbc:jdbc>
-                               
<jdbc:datasource-ref>testds</jdbc:datasource-ref>
-                <jdbc:table>costPerCustomer</jdbc:table>
-                <jdbc:column name="key1" key="yes" sql-type="VARCHAR" 
xsd-type="xs:string" />
-                <jdbc:column name="value0" key="no" sql-type="VARCHAR" 
xsd-type="xs:string" />
-                <jdbc:init mode="update-insert"></jdbc:init>
-            </jdbc:jdbc>
-        </xvar:externalVariable>
-
-    </process>
-</deploy>
-

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/test.properties
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/test.properties?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/test.properties
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/ExtVarInlineInit/test.properties
 Wed Apr 29 04:57:59 2009
@@ -34,39 +34,3 @@
 #              </values>
 #      </TestPart>
 #</message>
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-
-namespace=http://ode/bpel/unit-test.wsdl
-service=ExtVarService
-operation=extvar
-request1=<message><TestPart>Hello</TestPart></message>
-response1=.*k1.*k1.*v1.*
-
-# Response should look something like:
-# <?xml version="1.0" encoding="UTF-8"?>
-#<message>
-#      <TestPart>
-#              <keys xmlns="http://foo/extvar";>
-#                      <key1>k1</key1>
-#              </keys>
-#              <values xmlns="http://foo/extvar";>
-#                      <key1>k1</key1>
-#                      <value0>v1</value0>
-#              </values>
-#      </TestPart>
-#</message>

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.bpel
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.bpel?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.bpel
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.bpel
 Wed Apr 29 04:57:59 2009
@@ -92,97 +92,3 @@
                operation="testInlineInit" variable="otherMsgVar"/>
     </sequence>
 </process>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<process name="TestInlineInit"
-         targetNamespace="http://ode/bpel/unit-testInlineInit1";
-         xmlns:ode="http://www.apache.org/ode/type/extension";
-         xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
-         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
-         xmlns:tns="http://ode/bpel/unit-testInlineInit1";
-         xmlns:xsd="http://www.w3.org/2001/XMLSchema";
-         xmlns:test="http://ode/bpel/unit-testInlineInit1.wsdl";
-         queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
-         expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
-
-    <import location="TestInlineInit.wsdl"
-            namespace="http://ode/bpel/unit-testInlineInit1.wsdl";
-            importType="http://schemas.xmlsoap.org/wsdl/"; />
-
-    <partnerLinks>
-        <partnerLink name="TestInlineInitPLnk" 
partnerLinkType="test:TestInlineInitPLnkType" myRole="me" />
-    </partnerLinks>
-
-    <variables>
-        <variable name="myVar" messageType="test:TestInlineInitMessage"/>
-        <variable name="otherMsgVar" messageType="test:TestInlineInitMessage"/>
-    </variables>
-
-    <sequence>
-        
-        <receive name="start" partnerLink="TestInlineInitPLnk" 
portType="test:TestInlineInitPortType"
-                 operation="testInlineInit" variable="myVar" 
createInstance="yes"/>
-        <scope>
-            <variables>
-                
-                <!-- Int operations -->
-                <variable name="intVar" type="xsd:int">
-                    <from>1+1</from>
-                </variable>
-                <variable name="intVar2" type="xsd:int">
-                    <from>$intVar</from>
-                </variable>
-                <variable name="intVar3" type="xsd:int">
-                    <from>$intVar + 1</from>
-                </variable>
-                <variable name="intVar4" type="xsd:int">
-                    <from>abs($intVar + number('2')) + $intVar3 + 
$intVar2</from>
-                </variable>
-                <variable name="boolVar" type="xsd:boolean">
-                    <from>$intVar4 = 9</from>
-                </variable>
-                <!-- String operations -->
-                <variable name="strVar" type="xsd:string">
-                    <from>$myVar.TestPart</from>
-                </variable>
-                <variable name="strVar2" type="xsd:string">
-                    <from>"testtest"</from>
-                </variable>
-                <variable name="strVar3" type="xsd:string">
-                    <from>$ode:pid</from>
-                </variable>
-            </variables>
-            <sequence>
-                <assign name="assign1">
-                    <copy>
-                       <from>concat($strVar,'-', $strVar2, '-', 
$intVar,'-',$intVar2,'-',$intVar3,'-',$intVar4,'-',$boolVar)</from>
-                        <to variable="myVar" part="TestPart"/>
-                    </copy>
-                    <copy>
-                        <from variable="myVar" part="TestPart"/>
-                        <to variable="otherMsgVar" part="TestPart"/>
-                    </copy>
-                </assign>
-            </sequence>
-        </scope>
-        <reply name="end" partnerLink="TestInlineInitPLnk" 
portType="test:TestInlineInitPortType"
-               operation="testInlineInit" variable="otherMsgVar"/>
-    </sequence>
-</process>

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.wsdl
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.wsdl?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.wsdl
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/TestInlineInit.wsdl
 Wed Apr 29 04:57:59 2009
@@ -63,70 +63,3 @@
        <plnk:role name="you" portType="tns:TestInlineInitPortType"/>
    </plnk:partnerLinkType>
 </wsdl:definitions>
-
-<?xml version="1.0" encoding="utf-8" ?>
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<wsdl:definitions
-    targetNamespace="http://ode/bpel/unit-testInlineInit1.wsdl";
-    xmlns="http://schemas.xmlsoap.org/wsdl/";
-    xmlns:tns="http://ode/bpel/unit-testInlineInit1.wsdl";
-    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
-    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
-    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
-    xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";>
-
-    <wsdl:message name="TestInlineInitMessage">
-        <wsdl:part name="TestPart" type="xsd:string"/>
-    </wsdl:message>
-
-    <wsdl:portType name="TestInlineInitPortType">
-        <wsdl:operation name="testInlineInit">
-            <wsdl:input message="tns:TestInlineInitMessage" name="TestIn"/>
-            <wsdl:output message="tns:TestInlineInitMessage" name="TestOut"/>
-        </wsdl:operation>
-    </wsdl:portType>
-
-     <wsdl:binding name="TestInlineInitSoapBinding" 
type="tns:TestInlineInitPortType">
-        <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="testInlineInit">
-            <soap:operation soapAction="" style="rpc"/>
-            <wsdl:input>
-                <soap:body namespace="http://ode/bpel/unit-test.wsdl"; 
use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body namespace="http://ode/bpel/unit-test.wsdl"; 
use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:service name="TestInlineInitService">
-               <wsdl:port name="TestInlineInitPort" 
binding="tns:TestInlineInitSoapBinding">
-               <soap:address 
location="http://localhost:8080/ode/processes/TestInlineInit"/>
-               </wsdl:port>
-    </wsdl:service>
-
-   <plnk:partnerLinkType name="TestInlineInitPLnkType">
-       <plnk:role name="me" portType="tns:TestInlineInitPortType"/>
-       <plnk:role name="you" portType="tns:TestInlineInitPortType"/>
-   </plnk:partnerLinkType>
-</wsdl:definitions>
-

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/deploy.xml
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/deploy.xml?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/deploy.xml 
(original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/deploy.xml 
Wed Apr 29 04:57:59 2009
@@ -30,35 +30,3 @@
                </provide>
        </process>
 </deploy>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03";
-  xmlns:pns="http://ode/bpel/unit-testInlineInit1";
-  xmlns:wns="http://ode/bpel/unit-testInlineInit1.wsdl";>
-
-
-       <process name="pns:TestInlineInit">
-               <active>true</active>
-               <provide partnerLink="TestInlineInitPLnk">
-                       <service name="wns:TestInlineInitService" 
port="TestInlineInitPort"/>
-                       <service name="wns:TestInlineInitService" 
port="TestInlineInitPort"/>
-               </provide>
-       </process>
-</deploy>

Modified: 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/test.properties
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/test.properties?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/test.properties
 (original)
+++ 
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestInlineVarInit/test.properties
 Wed Apr 29 04:57:59 2009
@@ -20,25 +20,3 @@
 operation=testInlineInit
 request1=<message><TestPart>Hello</TestPart></message>
 response1=.*Hello-testtest-2-2-3-9-true.*
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-
-namespace=http://ode/bpel/unit-testInlineInit1.wsdl
-service=TestInlineInitService
-operation=testInlineInit
-request1=<message><TestPart>Hello</TestPart></message>
-response1=.*Hello-testtest-2-2-3-9-true.*

Modified: 
ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/AssignHelper.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/AssignHelper.java?rev=769657&r1=769656&r2=769657&view=diff
==============================================================================
--- 
ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/AssignHelper.java 
(original)
+++ 
ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/AssignHelper.java 
Wed Apr 29 04:57:59 2009
@@ -548,553 +548,3 @@
    
     
 }
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.ode.bpel.rtrep.v2;
-
-import java.util.List;
-import javax.xml.namespace.QName;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.common.FaultException;
-import org.apache.ode.bpel.evar.ExternalVariableModuleException;
-import org.apache.ode.bpel.rtrep.v2.OScope.Variable;
-import org.apache.ode.utils.DOMUtils;
-import org.apache.ode.utils.msg.MessageBundle;
-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;
-
-
-/**
- * Helper class that shares common code
- * for ASSIGN activity and SCOPE activity (used by in-line variable
- * initialization)
- * 
- * NOTE: This will extend ACTIVITY class, but it is not
- *              meant to be activity, it reuses methods provided
- *              by superclass.
- * 
- * @author madars.vitolins _at gmail.com (University of Latvia)
- */
-public class AssignHelper extends ACTIVITY {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final Log __log = LogFactory.getLog(AssignHelper.class);
-
-    private static final ASSIGNMessages __msgs = MessageBundle
-            .getMessages(ASSIGNMessages.class);
-    
-       public AssignHelper(ActivityInfo self, ScopeFrame scopeFrame,
-                       LinkFrame linkFrame) {
-               super(self, scopeFrame, linkFrame);
-       }
-
-       /**
-        * This method is stub, it is not meant to run
-        */
-       @Override
-       public void run() {
-               String errMsg="AssignHelper cannot be ran as ACTIVITY";
-               __log.error(errMsg);
-               _self.parent.failure(errMsg, null);
-       }
-       
-       /**
-        * Moved from ASSIGN here 
-        */
-       @Override
-       Node fetchVariableData(VariableInstance variable, boolean forWriting)
-                           throws FaultException {
-               try {
-                   return super.fetchVariableData(variable, forWriting);
-               } catch (FaultException fe) {
-                     if (forWriting) {
-                               fe = new FaultException(fe.getQName(), 
fe.getMessage(), new Throwable("throwUninitializedToVariable"));
-                     }
-                     throw fe;
-               }
-       }
-       
-    private OActivity getOActivity() {
-        return _self.o;
-    }
-    
-       
-       /**
-        * Initializes single variable by using it's 'from-spec'
-        * @param var
-        * @author madars.vitolins _at gmail.com, 2009.04.17
-        */
-       public void initVar(Variable var) throws FaultException,
-                       ExternalVariableModuleException {
-               __log.info("Initializing variable [" + var.name + "]");
-               // Init variable from another variable
-               if (var.type instanceof OMessageVarType
-                               && var.from instanceof OAssign.VariableRef
-                               && ((OAssign.VariableRef) 
var.from).isMessageRef()) {
-                       final VariableInstance lval = _scopeFrame.resolve(var);
-                       final VariableInstance rval = _scopeFrame
-                                       .resolve(((OAssign.VariableRef) 
var.from).getVariable());
-                       Element lvalue = (Element) fetchVariableData(rval, 
false);
-                       initializeVariable(lval, lvalue);
-               } else {
-                       
-                       Node rvalue = evalRValue(var.from);
-                       Node lvalue = evalLValue(var);
-                       // Dump r-value
-                       if (__log.isDebugEnabled()) {
-                               __log.debug("rvalue after eval " + rvalue);
-                               if (rvalue != null)
-                                       __log.debug("content " + 
DOMUtils.domToString(rvalue));
-                       }
-                       // Dump l-value
-                       if (__log.isDebugEnabled()) {
-                               __log.debug("lvalue after eval " + rvalue);
-                               if (lvalue != null)
-                                       __log.debug("content " + 
DOMUtils.domToString(lvalue));
-                       }
-
-                       Node lvaluePtr = lvalue;
-                       // Sneakily converting the EPR if it's not the format 
expected by
-                       // the lvalue
-                       if (var.from instanceof OAssign.PartnerLinkRef) {
-                               rvalue = 
getBpelRuntime().convertEndpointReference(
-                                               (Element) rvalue, lvaluePtr);
-                               if (rvalue.getNodeType() == Node.DOCUMENT_NODE)
-                                       rvalue = ((Document) 
rvalue).getDocumentElement();
-                       }
-
-                       if (rvalue.getNodeType() == Node.ELEMENT_NODE
-                                       && lvaluePtr.getNodeType() == 
Node.ELEMENT_NODE) {
-                               lvalue = replaceElement((Element) lvalue,
-                                               (Element) lvaluePtr, (Element) 
rvalue, true);
-                       } else {
-                               lvalue = replaceContent(lvalue, lvaluePtr, 
rvalue
-                                               .getTextContent());
-                       }
-                       final VariableInstance lval = _scopeFrame.resolve(var);
-                       if (__log.isDebugEnabled())
-                               __log.debug("SCOPE initialized variable '"
-                                               + lval.declaration.name + "' 
value '"
-                                               + DOMUtils.domToString(lvalue) 
+ "'");
-
-                       // Commit changes!
-                       commitChanges(lval, lvalue);
-               }
-       }// initVar()
-       
-       /**
-        * Assumes that variable is variable not kind of partner links. 
-        * 
-        * @param var
-        * @return
-        * @throws FaultException
-        * @throws ExternalVariableModuleException
-        * @author madars.vitolins _at gmail.com
-        */
-       public Node evalLValue(Variable var) throws FaultException,
-                       ExternalVariableModuleException {
-               final OdeInternalInstance napi = getBpelRuntime();
-               Node lval = null;
-               VariableInstance lvar = _scopeFrame.resolve(var);
-               if (!napi.isVariableInitialized(lvar)) {
-                       Document doc = DOMUtils.newDocument();
-                       Node val = var.type.newInstance(doc);
-                       if (val.getNodeType() == Node.TEXT_NODE) {
-                               Element tempwrapper = doc.createElementNS(null,
-                                               
"temporary-simple-type-wrapper");
-                               doc.appendChild(tempwrapper);
-                               tempwrapper.appendChild(val);
-                               val = tempwrapper;
-                       } else
-                               doc.appendChild(val);
-                       // Only external variables need to be initialized, 
others are new
-                       // and going to be overwritten
-                       if (lvar.declaration.extVar != null)
-                               lval = initializeVariable(lvar, val);
-                       else
-                               lval = val;
-               } else
-                       lval = fetchVariableData(lvar, true);
-               return lval;
-       }
-       
-       /**
-        * madars.vitolins _at gmail.com - 2009.04.17 - Moved from ASSIGN here
-        * @param to
-        * @return
-        * @throws FaultException
-        * @throws ExternalVariableModuleException
-        */
-    public Node evalLValue(OAssign.LValue to) throws FaultException, 
ExternalVariableModuleException {
-        final OdeInternalInstance napi = getBpelRuntime();
-        Node lval = null;
-        if (!(to instanceof OAssign.PartnerLinkRef)) {
-            VariableInstance lvar = _scopeFrame.resolve(to.getVariable());
-            if (!napi.isVariableInitialized(lvar)) {
-                Document doc = DOMUtils.newDocument();
-                Node val = to.getVariable().type.newInstance(doc);
-                if (val.getNodeType() == Node.TEXT_NODE) {
-                    Element tempwrapper = doc.createElementNS(null, 
"temporary-simple-type-wrapper");
-                    doc.appendChild(tempwrapper);
-                    tempwrapper.appendChild(val);
-                    val = tempwrapper;
-                } else doc.appendChild(val);
-                // Only external variables need to be initialized, others are 
new and going to be overwritten
-                if (lvar.declaration.extVar != null) lval = 
initializeVariable(lvar, val);
-                else lval = val;
-            } else
-                lval = fetchVariableData(lvar, true);
-        }
-        return lval;
-    }
-    
-    /**
-     * Get the r-value. There are several possibilities:
-     * <ul>
-     * <li>a message is selected - an element representing the whole message is
-     * returned.</li>
-     * <li>a (element) message part is selected - the element is returned.
-     * </li>
-     * <li>a (typed) message part is select - a wrapper element is returned.
-     * </li>
-     * <li>an attribute is selected - an attribute node is returned. </li>
-     * <li>a text node/string expression is selected - a text node is returned.
-     * </li>
-     * </ul>
-     * (madars.vitolins _at gmail.com - 2009.04.17 - moved from ASSIGN here)
-     * @param from
-     *
-     * @return Either {...@link Element}, {...@link org.w3c.dom.Text}, or
-     *         {...@link org.w3c.dom.Attr} node representing the r-value.
-     *
-     * @throws FaultException
-     *             DOCUMENTME
-     * @throws UnsupportedOperationException
-     *             DOCUMENTME
-     * @throws IllegalStateException
-     *             DOCUMENTME
-     */
-    public Node evalRValue(OAssign.RValue from) throws FaultException, 
ExternalVariableModuleException {
-        if (__log.isDebugEnabled())
-            __log.debug("Evaluating FROM expression \"" + from + "\".");
-
-        Node retVal;
-        if (from instanceof OAssign.DirectRef) {
-            OAssign.DirectRef dref = (OAssign.DirectRef) from;
-            sendVariableReadEvent(_scopeFrame.resolve(dref.variable));
-            Node data = fetchVariableData(_scopeFrame.resolve(dref.variable), 
false);
-            retVal = DOMUtils.findChildByName((Element)data, dref.elName);
-        } else if (from instanceof OAssign.VariableRef) {
-            OAssign.VariableRef varRef = (OAssign.VariableRef) from;
-            sendVariableReadEvent(_scopeFrame.resolve(varRef.variable));
-            Node data = 
fetchVariableData(_scopeFrame.resolve(varRef.variable), false);
-            retVal = evalQuery(data, varRef.part != null ? varRef.part : 
varRef.headerPart, varRef.location, getEvaluationContext());
-        } else if (from instanceof OAssign.PropertyRef) {
-            OAssign.PropertyRef propRef = (OAssign.PropertyRef) from;
-            sendVariableReadEvent(_scopeFrame.resolve(propRef.variable));
-            Node data = 
fetchVariableData(_scopeFrame.resolve(propRef.variable), false);
-            retVal = evalQuery(data, propRef.propertyAlias.part,
-                    propRef.propertyAlias.location, getEvaluationContext());
-        } else if (from instanceof OAssign.PartnerLinkRef) {
-            OAssign.PartnerLinkRef pLinkRef = (OAssign.PartnerLinkRef) from;
-            PartnerLinkInstance pLink = 
_scopeFrame.resolve(pLinkRef.partnerLink);
-            Node tempVal =pLinkRef.isMyEndpointReference ?
-                    getBpelRuntime().fetchMyRoleEndpointReferenceData(pLink)
-                    : 
getBpelRuntime().fetchPartnerRoleEndpointReferenceData(pLink);
-            if (__log.isDebugEnabled())
-                __log.debug("RValue is a partner link, corresponding endpoint "
-                        + tempVal.getClass().getName() + " has value " + 
DOMUtils.domToString(tempVal));
-            retVal = tempVal;
-        } else if (from instanceof OAssign.Expression) {
-            OExpression expr = ((OAssign.Expression) from).expression;
-            List<Node> l = getBpelRuntime().getExpLangRuntime().evaluate(expr, 
getEvaluationContext());
-
-            if (l.size() == 0) {
-                String msg = __msgs.msgRValueNoNodesSelected(expr.toString());
-                if (__log.isDebugEnabled()) __log.debug(from + ": " + msg);
-                throw new FaultException(getOActivity().getOwner().constants
-                    .qnSelectionFailure, msg, new 
Throwable("ignoreMissingFromData"));
-            } else if (l.size() > 1) {
-                String msg = 
__msgs.msgRValueMultipleNodesSelected(expr.toString());
-                if (__log.isDebugEnabled()) __log.debug(from + ": " + msg);
-                throw new 
FaultException(getOActivity().getOwner().constants.qnSelectionFailure, msg);
-            }
-            retVal = l.get(0);
-        } else if (from instanceof OAssign.Literal) {
-            Element literalRoot = ((OAssign.Literal) 
from).getXmlLiteral().getDocumentElement();
-            assert literalRoot.getLocalName().equals("literal");
-            // We'd like a single text node...
-
-            literalRoot.normalize();
-            retVal = literalRoot.getFirstChild();
-
-            // Adjust for whitespace before an element.
-            if (retVal != null && retVal.getNodeType() == Node.TEXT_NODE
-                    && retVal.getTextContent().trim().length() == 0
-                    && retVal.getNextSibling() != null) {
-                retVal = retVal.getNextSibling();
-            }
-
-            if (retVal == null) {
-                // Special case, no children --> empty TII
-                retVal = literalRoot.getOwnerDocument().createTextNode("");
-            } else if (retVal.getNodeType() == Node.ELEMENT_NODE) {
-                // Make sure there is no more elements.
-                Node x = retVal.getNextSibling();
-                while (x != null) {
-                    if (x.getNodeType() == Node.ELEMENT_NODE) {
-                        String msg = __msgs.msgLiteralContainsMultipleEIIs();
-                        if (__log.isDebugEnabled())
-                            __log.debug(from + ": " + msg);
-                        throw new FaultException(
-                                       
getOActivity().getOwner().constants.qnSelectionFailure,
-                                msg);
-
-                    }
-                    x = x.getNextSibling();
-                }
-            } else if (retVal.getNodeType() == Node.TEXT_NODE) {
-                // Make sure there are no elements following this text node.
-                Node x = retVal.getNextSibling();
-                while (x != null) {
-                    if (x.getNodeType() == Node.ELEMENT_NODE) {
-                        String msg = __msgs.msgLiteralContainsMixedContent();
-                        if (__log.isDebugEnabled())
-                            __log.debug(from + ": " + msg);
-                        throw new FaultException(
-                                       
getOActivity().getOwner().constants.qnSelectionFailure,
-                                msg);
-
-                    }
-                    x = x.getNextSibling();
-                }
-
-            }
-
-            if (retVal == null) {
-                String msg = __msgs.msgLiteralMustContainTIIorEII();
-                if (__log.isDebugEnabled())
-                    __log.debug(from + ": " + msg);
-                throw new FaultException(
-                               
getOActivity().getOwner().constants.qnSelectionFailure,
-                        msg);
-            }
-        } else {
-            String msg = __msgs
-                    .msgInternalError("Unknown RVALUE type: " + from);
-            if (__log.isErrorEnabled())
-                __log.error(from + ": " + msg);
-            throw new FaultException(
-                       getOActivity().getOwner().constants.qnSelectionFailure, 
msg);
-        }
-
-        // Now verify we got something.
-        if (retVal == null) {
-            String msg = __msgs.msgEmptyRValue();
-            if (__log.isDebugEnabled())
-                __log.debug(from + ": " + msg);
-            throw new FaultException(
-                       getOActivity().getOwner().constants.qnSelectionFailure, 
msg);
-        }
-
-        // Now check that we got the right thing.
-        switch (retVal.getNodeType()) {
-            case Node.TEXT_NODE:
-            case Node.ATTRIBUTE_NODE:
-            case Node.ELEMENT_NODE:
-            case Node.CDATA_SECTION_NODE:
-                break;
-            default:
-                String msg = __msgs.msgInvalidRValue();
-                if (__log.isDebugEnabled())
-                    __log.debug(from + ": " + msg);
-
-                throw new FaultException(
-                        
getOActivity().getOwner().constants.qnSelectionFailure, msg);
-
-        }
-
-        return retVal;
-    }
-    
-    /**
-     * madars.vitolins _at gmail.com - 2009.04.17 - moved from ASSIGN here
-     */
-    public Element replaceElement(Element lval, Element ptr, Element src,
-                                   boolean keepSrcElement) {
-        Document doc = ptr.getOwnerDocument();
-        Node parent = ptr.getParentNode();
-        if (keepSrcElement) {
-            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) {
-            Attr attr = (Attr)attrs.item(i);
-            if (!attr.getName().startsWith("xmlns")) {
-                
replacement.setAttributeNodeNS((Attr)doc.importNode(attrs.item(i), true));
-                // Case of qualified attribute values, we're forced to add 
corresponding namespace declaration manually
-                int colonIdx = attr.getValue().indexOf(":");
-                if (colonIdx > 0) {
-                    String prefix = attr.getValue().substring(0, colonIdx);
-                    String attrValNs = src.lookupPrefix(prefix);
-                    if (attrValNs != null)
-                        replacement.setAttributeNS(DOMUtils.NS_URI_XMLNS, 
"xmlns:"+ prefix, attrValNs);
-                }
-            }
-        }
-        parent.replaceChild(replacement, ptr);
-        DOMUtils.copyNSContext(ptr, replacement);
-
-        return (lval == ptr) ? replacement :  lval;
-    }
-    
-    /**
-     * isInsert flag desginates this as an 'element' type insertion, which
-     * requires insert the actual element value, rather than it's children
-     * (madars.vitolins _at gmail.com - 2009.04.17 - moved from ASSIGN here)
-     * @return
-     * @throws FaultException
-     */
-    public Node replaceContent(Node lvalue, Node lvaluePtr, String rvalue)
-            throws FaultException {
-        Document d = lvaluePtr.getOwnerDocument();
-
-        if (__log.isDebugEnabled()) {
-            __log.debug("lvaluePtr type " + lvaluePtr.getNodeType());
-            __log.debug("lvaluePtr " + DOMUtils.domToString(lvaluePtr));
-            __log.debug("lvalue " + lvalue);
-            __log.debug("rvalue " + rvalue);
-        }
-
-        switch (lvaluePtr.getNodeType()) {
-            case Node.ELEMENT_NODE:
-
-                // Remove all the children.
-                while (lvaluePtr.hasChildNodes())
-                    lvaluePtr.removeChild(lvaluePtr.getFirstChild());
-
-                // Append a new text node.
-                lvaluePtr.appendChild(d.createTextNode(rvalue));
-
-                // If lvalue is a text, removing all lvaluePtr children had 
just removed it
-                // so we need to rebuild it as a child of lvaluePtr
-                if (lvalue instanceof Text)
-                    lvalue = lvaluePtr.getFirstChild();
-                break;
-
-            case Node.TEXT_NODE:
-
-                Node newval = d.createTextNode(rvalue);
-                // Replace ourselves .
-                lvaluePtr.getParentNode().replaceChild(newval, lvaluePtr);
-
-                // A little kludge, let our caller know that the root element 
has changed.
-                // (used for assignment to a simple typed variable)
-                if (lvalue.getNodeType() == Node.ELEMENT_NODE) {
-                    // No children, adding an empty text children to point to
-                    if (lvalue.getFirstChild() == null) {
-                        Text txt = 
lvalue.getOwnerDocument().createTextNode("");
-                        lvalue.appendChild(txt);
-                    }
-                    if (lvalue.getFirstChild().getNodeType() == Node.TEXT_NODE)
-                        lvalue = lvalue.getFirstChild();
-                }
-                if (lvalue.getNodeType() == Node.TEXT_NODE && ((Text) 
lvalue).getWholeText().equals(
-                        ((Text) lvaluePtr).getWholeText()))
-                    lvalue = lvaluePtr = newval;
-                break;
-
-            case Node.ATTRIBUTE_NODE:
-
-                ((Attr) lvaluePtr).setValue(rvalue);
-                break;
-
-            default:
-                // This could occur if the expression language selects 
something
-                // like
-                // a PI or a CDATA.
-                String msg = __msgs.msgInvalidLValue();
-                if (__log.isDebugEnabled())
-                    __log.debug(lvaluePtr + ": " + msg);
-                throw new FaultException(
-                               
getOActivity().getOwner().constants.qnSelectionFailure, msg);
-        }
-
-        return lvalue;
-    }
-    
-    /**
-     * madars.vitolins _at gmail.com - 2009.04.17 moved from ASSIGN here
-     * @param data
-     * @param part
-     * @param expression
-     * @param ec
-     * @return
-     * @throws FaultException
-     */
-    private Node evalQuery(Node data, OMessageVarType.Part part,
-                           OExpression expression, EvaluationContext ec) 
throws FaultException {
-        assert data != null;
-
-        if (part != null) {
-            QName partName = new QName(null, part.name);
-            Node qualLVal = DOMUtils.findChildByName((Element) data, partName);
-            if (part.type instanceof OElementVarType) {
-                QName elName = ((OElementVarType) part.type).elementType;
-                qualLVal = DOMUtils.findChildByName((Element) qualLVal, 
elName);
-            } else if (part.type == null) {
-                // Special case of header parts never referenced in the WSDL 
def
-                if (qualLVal != null && qualLVal.getNodeType() == 
Node.ELEMENT_NODE
-                        && ((Element)qualLVal).getAttribute("headerPart") != 
null
-                        && DOMUtils.getTextContent(qualLVal) == null)
-                    qualLVal = DOMUtils.getFirstChildElement((Element) 
qualLVal);
-                // The needed part isn't there, dynamically creating it
-                if (qualLVal == null) {
-                    qualLVal = data.getOwnerDocument().createElementNS(null, 
part.name);
-                    ((Element)qualLVal).setAttribute("headerPart", "true");
-                    data.appendChild(qualLVal);
-                }
-            }
-            data = qualLVal;
-        }
-
-        if (expression != null) {
-            // Neat little trick....
-            data = ec.evaluateQuery(data, expression);
-        }
-        return data;
-    }
-    
-   
-    
-}


Reply via email to