tomj        02/02/21 11:25:07

  Modified:    java/src/org/apache/axis/wsdl/toJava
                        JavaComplexTypeWriter.java
               java/src/org/apache/axis/encoding/ser BeanSerializer.java
  Log:
  Change the return value of getAttributeElements() for bean types from a Vector
  to a String[].
  
  Revision  Changes    Path
  1.8       +11 -4     
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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JavaComplexTypeWriter.java        21 Feb 2002 18:51:23 -0000      1.7
  +++ JavaComplexTypeWriter.java        21 Feb 2002 19:25:07 -0000      1.8
  @@ -215,12 +215,19 @@
          // if we have attributes, create metadata function which returns the
          // list of properties that are attributes instead of elements
          if (attributes != null) {
  -           pw.println("    public static java.util.Vector getAttributeElements() 
{");
  -           pw.println("        java.util.Vector v = new java.util.Vector();");
  +           pw.println("    // List of fields that are XML attributes");
  +           pw.println("    public static java.lang.String[] _attrs = new String[] 
{");
              for (int i=0; i < attributes.size(); i+=2) {
  -               pw.println("        v.add(\"" + Utils.xmlNameToJava((String) 
attributes.get(i + 1)) + "\");");
  +               pw.println("        \"" + Utils.xmlNameToJava((String) 
attributes.get(i + 1)) + "\", ");
              }
  -           pw.println("        return v;");
  +           pw.println("    };");
  +           pw.println();
  +           
  +           pw.println("    /**");
  +           pw.println("     * Return list of bean field names that are attributes");
  +           pw.println("     */");
  +           pw.println("    public static java.lang.String[] getAttributeElements() 
{");
  +           pw.println("        return _attrs;");
              pw.println("    }");
              pw.println();
          }
  
  
  
  1.7       +9 -3      
xml-axis/java/src/org/apache/axis/encoding/ser/BeanSerializer.java
  
  Index: BeanSerializer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanSerializer.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- BeanSerializer.java       21 Feb 2002 18:51:23 -0000      1.6
  +++ BeanSerializer.java       21 Feb 2002 19:25:07 -0000      1.7
  @@ -237,9 +237,15 @@
               Method getAttributeElements = 
                       javaType.getMethod("getAttributeElements",
                                          new Class [] {});
  -            
  -            return (Vector) getAttributeElements.invoke(null, noArgs);
  -            
  +            // get string array
  +            String[] array = (String[])getAttributeElements.invoke(null, noArgs);
  +
  +            // convert it to a Vector
  +            Vector v = new Vector(array.length);
  +            for (int i = 0; i < array.length; i++) {
  +                v.add(array[i]);
  +            }
  +            return v;
           } catch (Exception e) {
               return new Vector();  // empty vector
           }
  
  
  


Reply via email to