From: <one...@us...> - 2003-01-20 12:48:49
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2java In directory sc8-pr-cvs1:/tmp/cvs-serv2323/sf/hibernate/tool/hbm2java Modified Files: BasicRenderer.java ClassMapping.java Field.java Generator.java Log Message: major refactoring to create SQL Generation layer more efficient queries against normalized mappings Index: BasicRenderer.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2java/BasicRenderer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BasicRenderer.java 16 Jan 2003 20:52:38 -0000 1.4 --- BasicRenderer.java 20 Jan 2003 12:48:16 -0000 1.5 *************** *** 10,13 **** --- 10,15 ---- import java.util.TreeSet; + import net.sf.hibernate.util.StringHelper; + import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; *************** *** 100,104 **** ( !classMapping.getProxy().equals( classMapping.getCanonicalName() ) ) ) { ! writer.print(", "); writer.print( classMapping.getProxy() ); } --- 102,106 ---- ( !classMapping.getProxy().equals( classMapping.getCanonicalName() ) ) ) { ! writer.print(StringHelper.COMMA_SPACE); writer.print( classMapping.getProxy() ); } *************** *** 108,112 **** for (Iterator iter = implementz.iterator(); iter.hasNext();) { String iface = (String) iter.next(); ! writer.print(", "); writer.print(iface); } --- 110,114 ---- for (Iterator iter = implementz.iterator(); iter.hasNext();) { String iface = (String) iter.next(); ! writer.print(StringHelper.COMMA_SPACE); writer.print(iface); } *************** *** 123,127 **** writer.println( " /** " + ! ( field.isNullable() && !field.isIdentifier() ? "nullable " : "" ) + ( field.isIdentifier() ? "identifier" : "persistent" ) + " field */"); --- 125,129 ---- writer.println( " /** " + ! ( field.isNullable() && !field.isIdentifier() ? "nullable " : StringHelper.EMPTY_STRING ) + ( field.isIdentifier() ? "identifier" : "persistent" ) + " field */"); *************** *** 141,145 **** writer.println(" /** full constructor */"); ! String fullCons = " public " + classMapping.getGeneratedName() + "("; --- 143,147 ---- writer.println(" /** full constructor */"); ! String fullCons = " public " + classMapping.getGeneratedName() + StringHelper.OPEN_PAREN; *************** *** 161,165 **** writer.print(field.getName()); if(fields.hasNext()) { ! writer.print(", "); } } --- 163,167 ---- writer.print(field.getName()); if(fields.hasNext()) { ! writer.print(StringHelper.COMMA_SPACE); } } *************** *** 189,193 **** writer.println(" /** minimal constructor */"); ! String minCons = " public " + classMapping.getGeneratedName() + "("; for (Iterator fields = allFieldsForMinimalConstructor.iterator(); fields.hasNext();) { Field field = (Field) fields.next(); --- 191,195 ---- writer.println(" /** minimal constructor */"); ! String minCons = " public " + classMapping.getGeneratedName() + StringHelper.OPEN_PAREN; for (Iterator fields = allFieldsForMinimalConstructor.iterator(); fields.hasNext();) { Field field = (Field) fields.next(); *************** *** 207,211 **** writer.print(field.getName()); if(fields.hasNext()) { ! writer.print(", "); } } --- 209,213 ---- writer.print(field.getName()); if(fields.hasNext()) { ! writer.print(StringHelper.COMMA_SPACE); } } *************** *** 240,244 **** Field field = (Field) fields.next(); if ( field.isIdentifier() ) { ! writer.println(" .append(this." + field.getName() + ", castOther." + field.getName() + ")"); } } --- 242,246 ---- Field field = (Field) fields.next(); if ( field.isIdentifier() ) { ! writer.println(" .append(this." + field.getName() + ", castOther." + field.getName() + StringHelper.CLOSE_PAREN); } } *************** *** 252,256 **** Field field = (Field) fields.next(); if ( field.isIdentifier() ) { ! writer.println(" .append(" + field.getName() + ")"); } } --- 254,258 ---- Field field = (Field) fields.next(); if ( field.isIdentifier() ) { ! writer.println(" .append(" + field.getName() + StringHelper.CLOSE_PAREN); } } *************** *** 285,296 **** writer.println(" return this." + field.getName() + ";"); writer.println(" }"); ! writer.println(""); // setter String setAccessScope = getFieldScope(field, "scope", "scope-set"); ! writer.println(" " + setAccessScope + " void set" + field.getAsSuffix() + "(" + getTrueTypeName(field, class2classmap) + " " + field.getName() + ") {"); writer.println(" this." + field.getName() + " = " + field.getName() + ";"); writer.println(" }"); ! writer.println(""); // add/remove'rs (commented out for now) --- 287,298 ---- writer.println(" return this." + field.getName() + ";"); writer.println(" }"); ! writer.println(); // setter String setAccessScope = getFieldScope(field, "scope", "scope-set"); ! writer.println(" " + setAccessScope + " void set" + field.getAsSuffix() + StringHelper.OPEN_PAREN + getTrueTypeName(field, class2classmap) + " " + field.getName() + ") {"); writer.println(" this." + field.getName() + " = " + field.getName() + ";"); writer.println(" }"); ! writer.println(); // add/remove'rs (commented out for now) *************** *** 319,327 **** String addAccessScope = getFieldScope(field, "scope", "scope-add"); ! writer.println(" " + setAccessScope + " void add" + field.getAsSuffix() + "(" + shortenType(trueforeign, classMapping.getImports()) + " a" + field.getName() + ") {"); writer.println(" this." + getterType + field.getAsSuffix() + "().add(a" + field.getName() + ");"); writer.println(" a" + field.getName() + ".setXXX(this);"); writer.println(" }"); ! writer.println(""); --- 321,329 ---- String addAccessScope = getFieldScope(field, "scope", "scope-add"); ! writer.println(" " + setAccessScope + " void add" + field.getAsSuffix() + StringHelper.OPEN + shortenType(trueforeign, classMapping.getImports()) + " a" + field.getName() + ") {"); writer.println(" this." + getterType + field.getAsSuffix() + "().add(a" + field.getName() + ");"); writer.println(" a" + field.getName() + ".setXXX(this);"); writer.println(" }"); ! writer.println(); *************** *** 388,392 **** private String shortenType(String type, TreeSet imports) { if( imports.contains(type) ) { ! return type.substring( type.lastIndexOf('.')+1 ); } else { --- 390,394 ---- private String shortenType(String type, TreeSet imports) { if( imports.contains(type) ) { ! return type.substring( type.lastIndexOf(StringHelper.DOT)+1 ); } else { Index: ClassMapping.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2java/ClassMapping.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ClassMapping.java 19 Jan 2003 11:47:08 -0000 1.6 --- ClassMapping.java 20 Jan 2003 12:48:16 -0000 1.7 *************** *** 15,18 **** --- 15,19 ---- import net.sf.hibernate.type.PrimitiveType; import net.sf.hibernate.type.Type; + import net.sf.hibernate.util.StringHelper; import org.apache.commons.collections.MultiMap; *************** *** 129,133 **** String cmpname = cmpid.getAttributeValue("name"); String cmpclass = cmpid.getAttributeValue("class"); ! if ( cmpclass==null || cmpclass.equals("") ) { //Embedded composite id //implementEquals(); --- 130,134 ---- String cmpname = cmpid.getAttributeValue("name"); String cmpclass = cmpid.getAttributeValue("class"); ! if ( cmpclass==null || cmpclass.equals(StringHelper.EMPTY_STRING) ) { //Embedded composite id //implementEquals(); *************** *** 156,160 **** MultiMap metaForProperty = MetaAttributeHelper.loadAndMergeMetaMap(property, inheritedMeta); String name = property.getAttributeValue("name"); ! if ( name == null || name.trim().equals("") ) { continue; //since an id doesn't necessarily need a name } --- 157,161 ---- MultiMap metaForProperty = MetaAttributeHelper.loadAndMergeMetaMap(property, inheritedMeta); String name = property.getAttributeValue("name"); ! if ( name == null || name.trim().equals(StringHelper.EMPTY_STRING) ) { continue; //since an id doesn't necessarily need a name } *************** *** 169,173 **** } ! if ( type == null || type.trim().equals("") ) { log.warn("property \"" + name + "\" in class " + getName() + " is missing a type attribute"); continue; --- 170,174 ---- } ! if ( type == null || type.trim().equals(StringHelper.EMPTY_STRING) ) { log.warn("property \"" + name + "\" in class " + getName() + " is missing a type attribute"); continue; *************** *** 268,272 **** String cmpname = cmpe.getAttributeValue("name"); String cmpclass = cmpe.getAttributeValue("class"); ! if ( cmpclass==null || cmpclass.equals("") ) { log.warn("component \"" + cmpname + "\" in class " + getName() + " does not specify a class"); continue; --- 269,273 ---- String cmpname = cmpe.getAttributeValue("name"); String cmpclass = cmpe.getAttributeValue("class"); ! if ( cmpclass==null || cmpclass.equals(StringHelper.EMPTY_STRING) ) { log.warn("component \"" + cmpname + "\" in class " + getName() + " does not specify a class"); continue; *************** *** 622,634 **** if(c==null) { ! return ""; ! } else { ! StringBuffer sb = new StringBuffer(); ! for (Iterator iter = c.iterator(); iter.hasNext();) { ! Object element = (Object) iter.next(); ! sb.append(element.toString()); ! } ! return sb.toString(); ! } } /** --- 623,636 ---- if(c==null) { ! return StringHelper.EMPTY_STRING; ! } ! else { ! StringBuffer sb = new StringBuffer(); ! for (Iterator iter = c.iterator(); iter.hasNext();) { ! Object element = (Object) iter.next(); ! sb.append(element.toString()); ! } ! return sb.toString(); ! } } /** Index: Field.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2java/Field.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Field.java 16 Jan 2003 20:52:38 -0000 1.4 --- Field.java 20 Jan 2003 12:48:16 -0000 1.5 *************** *** 6,9 **** --- 6,11 ---- import java.util.Set; + import net.sf.hibernate.util.StringHelper; + import org.apache.commons.collections.MultiMap; *************** *** 123,127 **** if(c==null) { ! return ""; } else { StringBuffer sb = new StringBuffer(); --- 125,129 ---- if(c==null) { ! return StringHelper.EMPTY_STRING; } else { StringBuffer sb = new StringBuffer(); Index: Generator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/tool/hbm2java/Generator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Generator.java 16 Jan 2003 20:52:38 -0000 1.5 --- Generator.java 20 Jan 2003 12:48:16 -0000 1.6 *************** *** 9,12 **** --- 9,14 ---- import java.util.Map; + import net.sf.hibernate.util.StringHelper; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; *************** *** 24,28 **** private String baseDirName = "generated"; private String packageName = null; ! private String suffix = ""; private String extension = "java"; private boolean lowerFirstLetter = false; --- 26,30 ---- private String baseDirName = "generated"; private String packageName = null; ! private String suffix = StringHelper.EMPTY_STRING; private String extension = "java"; private boolean lowerFirstLetter = false; *************** *** 149,155 **** if (this.packageName == null) { ! dir = new File(baseDir, packageName==null ? "" : packageName.replace('.', File.separatorChar)); } else { ! dir = new File(baseDir, this.packageName.replace('.', File.separatorChar)); } --- 151,157 ---- if (this.packageName == null) { ! dir = new File(baseDir, packageName==null ? StringHelper.EMPTY_STRING : packageName.replace(StringHelper.DOT, File.separatorChar)); } else { ! dir = new File(baseDir, this.packageName.replace(StringHelper.DOT, File.separatorChar)); } |