From: <hib...@li...> - 2006-05-28 17:20:37
|
Author: max...@jb... Date: 2006-05-28 13:20:26 -0400 (Sun, 28 May 2006) New Revision: 9954 Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2JavaTool.java trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/XMLPrettyPrinter.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Article.hbm.xml trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Hbm2JavaEjb3Test.java Log: HBX-666 generics appended when using property-type Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java 2006-05-28 17:18:19 UTC (rev 9953) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java 2006-05-28 17:20:26 UTC (rev 9954) @@ -314,6 +314,9 @@ } } + String getMatchString(String input) { + return input.toUpperCase(); + } } Modified: trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2JavaTool.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2JavaTool.java 2006-05-28 17:18:19 UTC (rev 9953) +++ trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2JavaTool.java 2006-05-28 17:20:26 UTC (rev 9954) @@ -166,7 +166,14 @@ public String getJavaTypeName(Property p, boolean useGenerics, ImportContext importContext) { String overrideType = getMetaAsString( p, "property-type" ); if ( !StringHelper.isEmpty( overrideType ) ) { - return importContext.importType(overrideType); + String importType = importContext.importType(overrideType); + if ( useGenerics && importType.indexOf( "<" )<0) { + if ( p.getValue() instanceof Collection ) { + String decl = getGenericCollectionDeclaration( (Collection) p.getValue(), true, importContext ); + return importType + decl; + } + } + return importType; } else { String rawType = getRawTypeName( p, useGenerics, true, importContext ); Modified: trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/XMLPrettyPrinter.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/XMLPrettyPrinter.java 2006-05-28 17:18:19 UTC (rev 9953) +++ trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/XMLPrettyPrinter.java 2006-05-28 17:20:26 UTC (rev 9954) @@ -130,11 +130,13 @@ if ( tidy.getParseErrors() > 0 ) { if(silent) { - log.info("Tidy was unable to process file " + inputFile + ", " + tidy.getParseErrors() + " errors found." ); + log.warn("Tidy was unable to process file " + inputFile + ", " + tidy.getParseErrors() + " errors found." ); } else { throw new ExporterException( "Tidy was unable to process file " + inputFile + ", " + tidy.getParseErrors() + " errors found." ); } + } else { + log.debug("XMLPrettyPrinting completed"); } } Modified: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Article.hbm.xml =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Article.hbm.xml 2006-05-28 17:18:19 UTC (rev 9953) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Article.hbm.xml 2006-05-28 17:20:26 UTC (rev 9954) @@ -41,7 +41,7 @@ <bag name="bagarticles" inverse="true" cascade="save-update"> - + <meta attribute="property-type">java.util.List</meta> <key column="authorId"/> <one-to-many class="Article"/> </bag> Modified: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Hbm2JavaEjb3Test.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Hbm2JavaEjb3Test.java 2006-05-28 17:18:19 UTC (rev 9953) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/Hbm2JavaEjb3Test.java 2006-05-28 17:20:26 UTC (rev 9954) @@ -93,7 +93,7 @@ assertEquals("Map<String,Article>",cfg2java.getJavaTypeName(p, true, clazz)); assertEquals("new HashMap<String,Article>(0)", clazz.getFieldInitialization(p, true)); assertEquals("new HashMap(0)", clazz.getFieldInitialization(p, false)); - + p = classMapping.getProperty("aList"); assertEquals("lists should not have the index visible in the declaration", "List<Article>",cfg2java.getJavaTypeName(p, true, clazz)); @@ -104,6 +104,16 @@ p = classMapping.getProperty("content"); assertEquals("\"what can I say\"",clazz.getFieldInitialization(p, false)); + + p = classMapping.getProperty("bagarticles"); + + assertEquals("Should be a list via property-type", "java.util.List", cfg2java.getJavaTypeName( p, false )); + assertEquals("Should be a a generic'd list when generics=true", "java.util.List<org.hibernate.tool.hbm2x.Article>", cfg2java.getJavaTypeName( p, true )); + assertEquals("List<Article>",cfg2java.getJavaTypeName(p, true, clazz)); + assertEquals("new ArrayList<Article>(0)", clazz.getFieldInitialization(p, true)); + assertEquals("new ArrayList(0)", clazz.getFieldInitialization(p, false)); + + } |