butek       02/02/05 13:53:49

  Modified:    java/src/org/apache/axis/wsdl/toJava
                        JavaComplexTypeWriter.java
  Log:
  Fixed a bug found by Thomas Sandholm.  "new String[][i+1]" was being generated.
  This should be "new String[i+1][]".
  
  Revision  Changes    Path
  1.6       +6 -1      
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaComplexTypeWriter.java
  
  Index: JavaComplexTypeWriter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaComplexTypeWriter.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JavaComplexTypeWriter.java        10 Jan 2002 20:08:51 -0000      1.5
  +++ JavaComplexTypeWriter.java        5 Feb 2002 21:53:49 -0000       1.6
  @@ -166,6 +166,10 @@
               if 
(((TypeEntry)elements.elementAt(i)).getQName().getLocalPart().indexOf("[")>0) {
   
                   String compName = typeName.substring(0, typeName.lastIndexOf("["));
  +
  +                int bracketIndex = typeName.indexOf("[");
  +                String newingName = typeName.substring(0, bracketIndex + 1);
  +                String newingSuffix = typeName.substring(bracketIndex + 1);
                                              
                   pw.println("    public " + compName + " " + get + capName + "(int 
i) {");
                   pw.println("        return " + name + "[i];");
  @@ -174,7 +178,8 @@
                   pw.println("    public void set"+capName+"(int i, "+compName+" 
value) {");
                   pw.println("        if (" + name + " == null ||");
                   pw.println("            " + name + ".length <= i) {");
  -                pw.println("            " + typeName + " a = new " + compName + 
"[i+1];");
  +                pw.println("            " + typeName + " a = new " +
  +                        newingName + "i + 1" + newingSuffix + ";");
                   pw.println("            if (" + name + " != null) {");
                   pw.println("                for(int j=0; j<"+name+".length; j++)");
                   pw.println("                    a[j] = "+name+"[j];");
  
  
  


Reply via email to