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
|