Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 74688 invoked by uid 500); 28 Feb 2002 19:00:42 -0000 Mailing-List: contact axis-dev-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@xml.apache.org Received: (qmail 74673 invoked by uid 500); 28 Feb 2002 19:00:41 -0000 Delivered-To: apmail-xml-axis-cvs@apache.org Date: 28 Feb 2002 19:00:40 -0000 Message-ID: <20020228190040.1836.qmail@icarus.apache.org> From: tomj@apache.org To: xml-axis-cvs@apache.org Subject: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava JavaComplexTypeWriter.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N tomj 02/02/28 11:00:40 Modified: java/src/org/apache/axis/wsdl/toJava JavaComplexTypeWriter.java Log: Improve generated equals() function and handle beans with no elements. Revision Changes Path 1.13 +27 -21 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.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- JavaComplexTypeWriter.java 28 Feb 2002 17:32:08 -0000 1.12 +++ JavaComplexTypeWriter.java 28 Feb 2002 19:00:40 -0000 1.13 @@ -260,28 +260,34 @@ pw.println(" public boolean equals(Object obj) {"); pw.println(" // compare elements"); pw.println(" " + className + " other = (" + className + ") obj;"); - pw.println(" return"); - for (int i = 0; i < names.size(); i += 2) { - String variableType = (String) names.get(i); - String variable = (String) names.get(i + 1); - - if (variableType.equals("int") || - variableType.equals("long") || - variableType.equals("short") || - variableType.equals("float") || - variableType.equals("double") || - variableType.equals("boolean") || - variableType.equals("byte")) { - pw.print(" " + variable + " == other.get" + - Utils.capitalizeFirstChar(variable) + "()"); - } else { - pw.print(" " + variable + ".equals(other.get" + - Utils.capitalizeFirstChar(variable) + "())"); + pw.println(" if (this == obj) return true;"); + pw.println(" if (! obj instanceof " + className + ") return false;"); + if (names.size() == 0) { + pw.println(" return true;"); + } else { + pw.println(" return"); + for (int i = 0; i < names.size(); i += 2) { + String variableType = (String) names.get(i); + String variable = (String) names.get(i + 1); + + if (variableType.equals("int") || + variableType.equals("long") || + variableType.equals("short") || + variableType.equals("float") || + variableType.equals("double") || + variableType.equals("boolean") || + variableType.equals("byte")) { + pw.print(" " + variable + " == other.get" + + Utils.capitalizeFirstChar(variable) + "()"); + } else { + pw.print(" " + variable + ".equals(other.get" + + Utils.capitalizeFirstChar(variable) + "())"); + } + if (i == (names.size() - 2)) + pw.println(";"); + else + pw.println(" &&"); } - if (i == (names.size() - 2)) - pw.println(";"); - else - pw.println(" &&"); } pw.println(" }");