axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t...@apache.org
Subject cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava JavaBeanWriter.java
Date Fri, 19 Apr 2002 19:31:23 GMT
tomj        02/04/19 12:31:23

  Modified:    java/src/org/apache/axis/wsdl/toJava JavaBeanWriter.java
  Log:
  Fix bug 7557: SimpleTypes derived from primitive types did not work.
  Fix up the constructor and the toString code emitted for SimpleTypes to
  do the right thing for primative types.
  
  Per the bug report suggestion, add a value constructor for SimpleType beans.
  
  Revision  Changes    Path
  1.8       +31 -7     xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
  
  Index: JavaBeanWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JavaBeanWriter.java	19 Apr 2002 19:14:57 -0000	1.7
  +++ JavaBeanWriter.java	19 Apr 2002 19:31:23 -0000	1.8
  @@ -150,11 +150,18 @@
           pw.println("public " + abstractText + "class " + className + extendsText +
                      " implements java.io.Serializable" + implementsText + " {");
   
  +        // Define the member element of the bean
           for (int i = 0; i < names.size(); i += 2) {
  +            String typeName = (String) names.get(i);
               String variable = (String) names.get(i + 1);
  -            if (variable.equals("value"))
  -                valueType = (String) names.get(i);
  -            pw.print("    private " + names.get(i) + " " + variable + ";");
  +            
  +            if (type.isSimpleType() && variable.equals("value")) {
  +                valueType = typeName;
  +            }
  +             
  +            // Declare the bean element
  +            pw.print("    private " + typeName + " " + variable + ";");
  +            
               // label the attribute fields.
               if (elements == null || i >= (elements.size()*2))
                   pw.println("  // attribute");
  @@ -162,12 +169,15 @@
                   pw.println();
           }
   
  +        // Define the default constructor
           pw.println();
           pw.println("    public " + className + "() {");
           pw.println("    }");
   
           pw.println();
           int j = 0; 
  +
  +        // Define getters and setters for the bean elements
           for (int i = 0; i < names.size(); i += 2, j++) {
               String typeName = (String) names.get(i);
               String name = (String) names.get(i + 1);
  @@ -226,21 +236,35 @@
           }
          
           // if this is a simple type, we need to emit a toString and a string
  -        // constructor
  +        // constructor and throw in a value construtor too.
           if (type.isSimpleType() && valueType != null) {
               // emit contructors and toString().
  +            pw.println("    public " + className + "(" + valueType + " value) {");
  +            pw.println("        this.value = value;");
  +            pw.println("    }");
  +            pw.println();            
  +            
               pw.println("    // " + JavaUtils.getMessage("needStringCtor"));
               pw.println("    public " + className + "(java.lang.String value) {");
  -            pw.println("        this.value = new " + valueType + "(value);");
  +            // Make sure we wrap base types with its Object type
  +            String wrapper = JavaUtils.getWrapper(valueType);
  +            if (wrapper != null) {
  +                pw.println("        this.value = new " + wrapper + "(value)." + valueType
+ "Value();");
  +            } else {
  +                pw.println("        this.value = new " + valueType + "(value);");
  +            }
               pw.println("    }");
               pw.println();            
               pw.println("    // " + JavaUtils.getMessage("needToString"));
               pw.println("    public String toString() {");
  -            pw.println("        return value.toString();");
  +            if (wrapper != null) {
  +                pw.println("        return new " + wrapper + "(value).toString();");
  +            } else {
  +                pw.println("        return value.toString();");
  +            }
               pw.println("    }");
               pw.println();
           }
  -
           writeEqualsMethod();
           writeHashCodeMethod();
   
  
  
  

Mime
View raw message