From: <one...@us...> - 2002-11-02 15:33:46
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen In directory usw-pr-cvs1:/tmp/cvs-serv19743 Modified Files: BasicRenderer.java Log Message: integrated patch by Max Andersen fixing bug when no properties Index: BasicRenderer.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen/BasicRenderer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** BasicRenderer.java 29 Oct 2002 16:09:05 -0000 1.10 --- BasicRenderer.java 2 Nov 2002 15:33:42 -0000 1.11 *************** *** 80,89 **** writer.println(); - // no args constructor - writer.println(" public " + classMapping.getName() + "() {" ); - writer.println(" }"); - writer.println(); - // full constructor String fullCons = " public " + classMapping.getName() + "("; for(Iterator fields = classMapping.getFields().iterator(); fields.hasNext();) { --- 80,85 ---- writer.println(); // full constructor + int fullConsArgCount = 0; String fullCons = " public " + classMapping.getName() + "("; for(Iterator fields = classMapping.getFields().iterator(); fields.hasNext();) { *************** *** 91,100 **** if(!field.isIdentifier() || (field.isIdentifier() && !field.isGenerated())) { fullCons = fullCons + field.getType() + " " + field.getName(); ! fullCons = fullCons + ", "; } } ! // may use fields.hasNext() in the loop to prevent this String trick, ! // but I cannot avoid it in the minimal constructor ! fullCons = fullCons.substring(0, fullCons.length() - 2); writer.println(fullCons + ") {"); for(Iterator fields = classMapping.getFields().iterator(); fields.hasNext();) { --- 87,99 ---- if(!field.isIdentifier() || (field.isIdentifier() && !field.isGenerated())) { fullCons = fullCons + field.getType() + " " + field.getName(); ! if(fields.hasNext()) { ! fullCons = fullCons + ", "; ! fullConsArgCount++; ! } } } ! if(fullConsArgCount>0) { // only remove the last , and space if there was an arg! ! fullCons = fullCons.substring(0, fullCons.length() - 2); ! } writer.println(fullCons + ") {"); for(Iterator fields = classMapping.getFields().iterator(); fields.hasNext();) { *************** *** 106,111 **** writer.println(" }"); writer.println(); - // minimal constructor if(classMapping.needsMinimalConstructor()) { String minCons = " public " + classMapping.getName() + "("; --- 105,119 ---- writer.println(" }"); writer.println(); + + // no args constructor (if fullconstructor had any arguments!) + if (fullConsArgCount > 0) { + writer.println(" public " + classMapping.getName() + "() {"); + writer.println(" }"); + writer.println(); + } + + // minimal constructor (only if the fullconstructor had any arguments) + if(fullConsArgCount>0) { if(classMapping.needsMinimalConstructor()) { String minCons = " public " + classMapping.getName() + "("; *************** *** 130,134 **** writer.println(); } ! // field accessors --- 138,142 ---- writer.println(); } ! } // field accessors |