You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/05/22 18:22:29 UTC

svn commit: r659144 - in /cxf/branches/2.0.x-fixes: ./ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java

Author: dkulp
Date: Thu May 22 09:22:28 2008
New Revision: 659144

URL: http://svn.apache.org/viewvc?rev=659144&view=rev
Log:
Merged revisions 659141 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r659141 | dkulp | 2008-05-22 12:02:15 -0400 (Thu, 22 May 2008) | 2 lines
  
  [CXF-1604] Fix NPE issues with null Lists being sent as wrapped doc/lit params
........

Modified:
    cxf/branches/2.0.x-fixes/   (props changed)
    cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java
    cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java

Propchange: cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java?rev=659144&r1=659143&r2=659144&view=diff
==============================================================================
--- cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java (original)
+++ cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelperCompiler.java Thu May 22 09:22:28 2008
@@ -358,13 +358,13 @@
     }
     
     private void doCollection(MethodVisitor mv, int x) {
-        //List aVal = obj.getA();
-        //List newA = (List)lst.get(99);
-        //if (aVal == null) {
-        //    obj.setA(newA);
-        //} else {
-        //    aVal.addAll(newA);
-        //}
+        // List aVal = obj.getA();
+        // List newA = (List)lst.get(99);
+        // if (aVal == null) {
+        // obj.setA(newA);
+        // } else if (newA != null) {
+        // aVal.addAll(newA);
+        // }
         
         mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL,
                            periodToSlashes(wrapperType.getName()),
@@ -402,6 +402,8 @@
         Label jumpOverLabel = new Label();
         mv.visitJumpInsn(Opcodes.GOTO, jumpOverLabel);
         mv.visitLabel(nonNullLabel);
+        mv.visitVarInsn(Opcodes.ALOAD, 4);
+        mv.visitJumpInsn(Opcodes.IFNULL, jumpOverLabel);
         mv.visitVarInsn(Opcodes.ALOAD, 3);
         mv.visitVarInsn(Opcodes.ALOAD, 4);
         mv.visitMethodInsn(Opcodes.INVOKEINTERFACE,

Modified: cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java?rev=659144&r1=659143&r2=659144&view=diff
==============================================================================
--- cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java (original)
+++ cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/type_test/AbstractTypeTestClient.java Thu May 22 09:22:28 2008
@@ -1892,6 +1892,9 @@
                 assertTrue("testStringList(): Incorrect value for out param", yOrig.equals(z.value));
                 assertTrue("testStringList(): Incorrect return value", x.equals(ret));
             }
+            if (testDocLiteral) {
+                ret = docClient.testStringList(null, y, z);
+            }
         } else {
             String[] x = {"I", "am", "SimpleList"};
             String[] yOrig = {"Does", "SimpleList", "Work"};