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 2009/10/19 23:07:55 UTC

svn commit: r826812 - in /cxf/branches/2.2.x-fixes: ./ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java

Author: dkulp
Date: Mon Oct 19 21:07:55 2009
New Revision: 826812

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

........
  r826811 | dkulp | 2009-10-19 17:06:40 -0400 (Mon, 19 Oct 2009) | 1 line
  
  [CXF-2478] Fix problem of wrong part being removed
........

Modified:
    cxf/branches/2.2.x-fixes/   (props changed)
    cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java

Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:826811

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

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java?rev=826812&r1=826811&r2=826812&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java Mon Oct 19 21:07:55 2009
@@ -146,7 +146,7 @@
                             if (removes == null) {
                                 removes = new ArrayList<Integer>();
                             }
-                            removes.add(mpi.getIndex());
+                            removes.add(part.getIndex());
                         }
                     } else {
                         ++count;
@@ -157,7 +157,9 @@
                 } else if (removes != null) {
                     Collections.sort(removes, Collections.reverseOrder());
                     for (Integer i : removes) {
-                        newParams.remove(i.intValue());
+                        if (i < newParams.size()) {
+                            newParams.remove(i.intValue());
+                        }
                     }
                 }
                 
@@ -179,13 +181,15 @@
         
         for (MessagePartInfo p : messageInfo.getMessageParts()) {
             if (Boolean.TRUE.equals(p.getProperty(ReflectionServiceFactoryBean.HEADER))) {
-                int idx = p.getIndex();
-                ensureSize(elTypeNames, idx);
-                ensureSize(partClasses, idx);
-                ensureSize(partNames, idx);
-                elTypeNames.set(idx, null);
-                partClasses.set(idx, null);
-                partNames.set(idx, null);
+                if (p.getTypeClass() != null) {
+                    int idx = p.getIndex();
+                    ensureSize(elTypeNames, idx);
+                    ensureSize(partClasses, idx);
+                    ensureSize(partNames, idx);
+                    elTypeNames.set(idx, null);
+                    partClasses.set(idx, null);
+                    partNames.set(idx, null);
+                }
             } else {
                 String elementType = null;
                 if (p.getTypeQName() == null) {