|
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));
+
+
}
|