[hibernate-commits] Hibernate SVN: r10683 - in branches/Branch_3_2/HibernateExt/tools/src: java/org/hibernate/cfg/reveng java/org/hibernate/tool/ant java/org/hibernate/tool/hbm2x/doc templates/doc/entities test/org/hibernate/tool/hbm2x test/org/hibernate/tool/test/jdbc2cfg

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Nov 2 07:36:33 EST 2006


Author: max.andersen at jboss.com
Date: 2006-11-02 07:36:22 -0500 (Thu, 02 Nov 2006)
New Revision: 10683

Modified:
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringSettings.java
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java
   branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/doc/DocHelper.java
   branches/Branch_3_2/HibernateExt/tools/src/templates/doc/entities/entity.ftl
   branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/DocExporterTest.java
   branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java
   branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/DefaultReverseEngineeringStrategyTest.java
   branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/ManyToManyTest.java
   branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/PersistentClassesTest.java
Log:
HBX-803 strategies should know the rootstrategy
HBX-802 Hide property summary when no properties and sort alphabetically

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -25,7 +25,7 @@
 	
 	private static Set AUTO_OPTIMISTICLOCK_COLUMNS;
 
-	private ReverseEngineeringSettings settings = new ReverseEngineeringSettings();
+	private ReverseEngineeringSettings settings = new ReverseEngineeringSettings(this);
 	static {
 		AUTO_OPTIMISTICLOCK_COLUMNS = new HashSet();
 		AUTO_OPTIMISTICLOCK_COLUMNS.add("version");
@@ -59,7 +59,7 @@
 	 * TODO: are the from/to names correct ?
 	 */
     public String foreignKeyToCollectionName(String keyname, TableIdentifier fromTable, List fromColumns, TableIdentifier referencedTable, List referencedColumns, boolean uniqueReference) {
-		String propertyName = Introspector.decapitalize( StringHelper.unqualify( tableToClassName(fromTable) ) );
+		String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(fromTable) ) );
 		propertyName = pluralize( propertyName );
 		
 		if(!uniqueReference) {
@@ -79,7 +79,7 @@
 	}
 
     public String foreignKeyToEntityName(String keyname, TableIdentifier fromTable, List fromColumnNames, TableIdentifier referencedTable, List referencedColumnNames, boolean uniqueReference) {
-        String propertyName = Introspector.decapitalize( StringHelper.unqualify( tableToClassName(referencedTable) ) );
+        String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(referencedTable) ) );
         
         if(!uniqueReference) {
         	if(fromColumnNames!=null && fromColumnNames.size()==1) {
@@ -233,8 +233,12 @@
 		}
 	}
 
+	protected ReverseEngineeringStrategy getRoot() {
+		return settings.getRootStrategy();
+	}
+	
 	public String foreignKeyToManyToManyName(ForeignKey fromKey, TableIdentifier middleTable, ForeignKey toKey, boolean uniqueReference) {
-		String propertyName = Introspector.decapitalize( StringHelper.unqualify( tableToClassName(TableIdentifier.create( toKey.getReferencedTable()) )) );
+		String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(TableIdentifier.create( toKey.getReferencedTable()) )) );
 		propertyName = pluralize( propertyName );
 		
 		if(!uniqueReference) {

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -109,6 +109,13 @@
 		return delegate==null?true:delegate.isForeignKeyCollectionLazy(name, foreignKeyTable, columns, foreignKeyReferencedTable, referencedColumns);
 	}
 
+	/**
+	 * Initialize the settings. 
+	 * 
+	 * If subclasses need to use the Settings then it should keep its own reference, but still remember to initialize the delegates settings by calling super.setSettings(settings).
+	 * 
+	 * @see ReverseEngineeringStrategy.setSettings
+	 */
 	public void setSettings(ReverseEngineeringSettings settings) {
 		if(delegate!=null) delegate.setSettings(settings);
 	}

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringSettings.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringSettings.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringSettings.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -3,7 +3,7 @@
 public class ReverseEngineeringSettings {
 
 	
-	//final ReverseEngineeringStrategy rootStrategy;
+	final ReverseEngineeringStrategy rootStrategy;
 	
 	private String defaultPackageName = "";
 	private boolean detectOptimisticLock = true;
@@ -11,9 +11,9 @@
 	private boolean createManyToOneForForeignKey = true;
 	private boolean detectManyToMany = true;
 	
-	//public ReverseEngineeringSettings(ReverseEngineeringStrategy rootStrategy) {
-	//	this.rootStrategy = rootStrategy;
-	//}
+	public ReverseEngineeringSettings(ReverseEngineeringStrategy rootStrategy) {
+		this.rootStrategy = rootStrategy;
+	}
 	
 	public ReverseEngineeringSettings setDefaultPackageName(String defaultPackageName) {
 		if(defaultPackageName==null) {
@@ -72,9 +72,9 @@
 		return detectManyToMany;
 	}
 	
-	/** return the top/root strategy. Allows a lower strategy to ask another question. Dangerous to do since recursive loops can easily occur! */
-	/*public ReverseEngineeringStrategy getRootStrategy() {
+	/** return the top/root strategy. Allows a lower strategy to ask another question. Be aware of possible recursive loops; e.g. do not call the root.tableToClassName in tableToClassName of a custom reversengineeringstrategy. */
+	public ReverseEngineeringStrategy getRootStrategy() {
 		return rootStrategy;
-	}*/
+	}
 	
 }

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -13,7 +13,7 @@
 public interface ReverseEngineeringStrategy {
 
 	/**
-	 * Generic method used to initialize the reverse engineering strategy. 
+	 * Generic method used to initialize the reverse engineering strategy.
 	 * 
 	 * @param settings used for this
 	 */

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -52,15 +52,7 @@
         jmdc.setPreferBasicCompositeIds(preferBasicCompositeIds);
 
 		DefaultReverseEngineeringStrategy defaultStrategy = new DefaultReverseEngineeringStrategy();
-		ReverseEngineeringSettings qqsettings = 
-				new ReverseEngineeringSettings().setDefaultPackageName(packageName)
-				.setDetectManyToMany( detectManyToMany )
-				.setDetectOptimisticLock( detectOptimisticLock );
 		
-        if(packageName!=null) {
-            defaultStrategy.setSettings(qqsettings);
-        }
-		
 		ReverseEngineeringStrategy strategy = defaultStrategy;
 		
 		if(revengFiles!=null) {
@@ -76,7 +68,15 @@
 		if(reverseEngineeringStrategyClass!=null) {
 			strategy = loadreverseEngineeringStrategy(reverseEngineeringStrategyClass, strategy);			
 		}
+		
+		ReverseEngineeringSettings qqsettings = 
+			new ReverseEngineeringSettings(strategy).setDefaultPackageName(packageName)
+			.setDetectManyToMany( detectManyToMany )
+			.setDetectOptimisticLock( detectOptimisticLock );
+	
+		defaultStrategy.setSettings(qqsettings);
 		strategy.setSettings(qqsettings);
+		
         jmdc.setReverseEngineeringStrategy(strategy);
         
 		jmdc.readFromJDBC(); 

Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/doc/DocHelper.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/doc/DocHelper.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/doc/DocHelper.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -42,6 +42,20 @@
 			return that.getDeclarationName().compareTo(what.getDeclarationName());				
 		}
 	};
+	
+	/**
+	 * Used to sort properties according to their name.
+	 */
+	private static final Comparator PROPERTY_COMPARATOR = new Comparator()
+	{
+		public int compare(Object o1, Object o2)
+		{
+			Property property1 = (Property) o1;
+			Property property2 = (Property) o2;
+			
+			return property1.getName().compareTo(property2.getName());
+		}
+	};
 
 	/**
      * Name to use if the schema is not specified.
@@ -504,5 +518,17 @@
     		return Collections.EMPTY_LIST;
     	}
     }
+    
+    public List getOrderedProperties(POJOClass pojoClass)
+    {
+    	List orderedProperties = new ArrayList();
+    	
+    	for (Iterator iterator = pojoClass.getAllPropertiesIterator(); iterator.hasNext(); )
+    		orderedProperties.add(iterator.next());
+    	
+    	Collections.sort(orderedProperties, PROPERTY_COMPARATOR);
+    	
+    	return orderedProperties;
+    }
 
 }
\ No newline at end of file

Modified: branches/Branch_3_2/HibernateExt/tools/src/templates/doc/entities/entity.ftl
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/templates/doc/entities/entity.ftl	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/templates/doc/entities/entity.ftl	2006-11-02 12:36:22 UTC (rev 10683)
@@ -158,99 +158,102 @@
 			</table>
 		</#if>
 
-		<table id="property_summary">
-			<thead>
-				<tr>
-					<th class="MainTableHeading" colspan="5">
-						Property Summary
-					</th>
-				</tr>
-				<tr>
-					<th style="width: 14%">
-						Name
-					</th>
-					<th style="width: 14%">
-						Column
-					</th>
-					<th style="width: 14%">
-						Access
-					</th>
-					<th style="width: 14%">
-						Type
-					</th>
-					<th style="width: 44%">
-						Description
-					</th>
-				</tr>
-			</thead>
-			<tbody>
-
-				<#foreach property in class.allPropertiesIterator>
-					<#assign columnIterator = property.getValue().columnIterator>
-					<#assign rowspan = property.getValue().getColumnSpan()>
+		<#assign properties = dochelper.getOrderedProperties(class)>
+		<#if !properties.empty>
+			<table id="property_summary">
+				<thead>
 					<tr>
-						<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
-							<a href="#field_summary">
-								${property.name}
-							</a>
-						</td>
-
-						<#if (rowspan > 0)>
-							<#assign column = columnIterator.next()>
-							<#if column.isFormula()>
+						<th class="MainTableHeading" colspan="5">
+							Property Summary
+						</th>
+					</tr>
+					<tr>
+						<th style="width: 14%">
+							Name
+						</th>
+						<th style="width: 14%">
+							Column
+						</th>
+						<th style="width: 14%">
+							Access
+						</th>
+						<th style="width: 14%">
+							Type
+						</th>
+						<th style="width: 44%">
+							Description
+						</th>
+					</tr>
+				</thead>
+				<tbody>
+	
+					<#foreach property in properties>
+						<#assign columnIterator = property.getValue().columnIterator>
+						<#assign rowspan = property.getValue().getColumnSpan()>
+						<tr>
+							<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
+								<a href="#field_summary">
+									${property.name}
+								</a>
+							</td>
+	
+							<#if (rowspan > 0)>
+								<#assign column = columnIterator.next()>
+								<#if column.isFormula()>
+									<td>
+										&nbsp;
+									</td>
+								<#else>
+									<td>
+										<a href="#property_summary">
+											${column.getName()}
+										</a>
+									</td>
+								</#if>
+							<#else>
 								<td>
 									&nbsp;
 								</td>
-							<#else>
-								<td>
-									<a href="#property_summary">
-										${column.getName()}
-									</a>
-								</td>
 							</#if>
-						<#else>
-							<td>
-								&nbsp;
+	
+							<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
+								${property.getPropertyAccessorName()} (<a href="#property_summary">get</a> / <a href="#property_summary">set</a>)
 							</td>
+	
+							<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
+								<#if dochelper.getComponentPOJO(property)?exists>
+									<a href="${docFileManager.getRef(docFile, docFileManager.getEntityDocFileByDeclarationName(dochelper.getComponentPOJO(property)))}" target="generalFrame">
+										${class.getJavaTypeName(property, jdk5)?html?default("&nbsp;")}
+									</a>
+								<#else>
+									${class.getJavaTypeName(property, jdk5)?html?default("&nbsp;")}
+								</#if>
+							</td>
+	
+							<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
+								<#if class.hasFieldJavaDoc(property)>
+									${class.getFieldDescription(property)?default("&nbsp;")}
+								<#else>
+									&nbsp;
+								</#if>
+							</td>
+						</tr>
+						<#if (rowspan > 1)>
+							<#foreach column in columnIterator>
+								<tr>
+									<td>
+										<a href="#property_summary">
+											${column.name}
+										</a>
+									</td>
+								</tr>
+							</#foreach>
 						</#if>
+					</#foreach>
+	
+				</tbody>
+			</table>
+		</#if>
 
-						<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
-							${property.getPropertyAccessorName()} (<a href="#property_summary">get</a> / <a href="#property_summary">set</a>)
-						</td>
-
-						<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
-							<#if dochelper.getComponentPOJO(property)?exists>
-								<a href="${docFileManager.getRef(docFile, docFileManager.getEntityDocFileByDeclarationName(dochelper.getComponentPOJO(property)))}" target="generalFrame">
-									${class.getJavaTypeName(property, jdk5)?html?default("&nbsp;")}
-								</a>
-							<#else>
-								${class.getJavaTypeName(property, jdk5)?html?default("&nbsp;")}
-							</#if>
-						</td>
-
-						<td <#if (rowspan > 0)>rowspan="${rowspan}"</#if>>
-							<#if class.hasFieldJavaDoc(property)>
-								${class.getFieldDescription(property)?default("&nbsp;")}
-							<#else>
-								&nbsp;
-							</#if>
-						</td>
-					</tr>
-					<#if (rowspan > 1)>
-						<#foreach column in columnIterator>
-							<tr>
-								<td>
-									<a href="#property_summary">
-										${column.name}
-									</a>
-								</td>
-							</tr>
-						</#foreach>
-					</#if>
-				</#foreach>
-
-			</tbody>
-		</table>
-
 	</body>
 </html>

Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/DocExporterTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/DocExporterTest.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/DocExporterTest.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -66,15 +66,18 @@
     	assertFileAndExists(new File(getOutputDir(), "tables/tablegraph.dot"));
     	assertFileAndExists(new File(getOutputDir(), "tables/tablegraph.png"));
     	
+    	/* Tidy complains about valid html 4.x 
+    	final Tidy tidy = new Tidy();
+    	
+
     	new FileVisitor() {
     			protected void process(File dir) {
-    		    	Tidy tidy = new Tidy();
     				if(dir.isFile() && dir.getName().endsWith( ".html" )) {
     					testHtml( tidy, dir );
     				}
     				
     			}
-    	}.visit( getOutputDir() );
+    	}.visit( getOutputDir() );*/
     	
     	
 	}

Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -53,7 +53,7 @@
 	protected void configure(JDBCMetaDataConfiguration cfg2configure) {
 		
 		DefaultReverseEngineeringStrategy configurableNamingStrategy = new DefaultReverseEngineeringStrategy();
-		configurableNamingStrategy.setSettings(new ReverseEngineeringSettings().setDefaultPackageName("org.reveng").setCreateCollectionForForeignKey(false));
+		configurableNamingStrategy.setSettings(new ReverseEngineeringSettings(configurableNamingStrategy).setDefaultPackageName("org.reveng").setCreateCollectionForForeignKey(false));
 		cfg2configure.setReverseEngineeringStrategy(configurableNamingStrategy);
 	}
 	

Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/DefaultReverseEngineeringStrategyTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/DefaultReverseEngineeringStrategyTest.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/DefaultReverseEngineeringStrategyTest.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -13,6 +13,8 @@
 import junit.framework.TestSuite;
 
 import org.hibernate.cfg.reveng.DefaultReverseEngineeringStrategy;
+import org.hibernate.cfg.reveng.DelegatingReverseEngineeringStrategy;
+import org.hibernate.cfg.reveng.ReverseEngineeringSettings;
 import org.hibernate.cfg.reveng.ReverseEngineeringStrategy;
 import org.hibernate.cfg.reveng.TableIdentifier;
 import org.hibernate.mapping.Column;
@@ -82,6 +84,25 @@
         assertEquals("order", rns.foreignKeyToEntityName("something", new TableIdentifier("product"), null, new TableIdentifier("order"), null, true ) );
     }
 	
+    public void testCustomClassNameStrategyWithCollectionName() {
+    	
+    	ReverseEngineeringStrategy custom = new DelegatingReverseEngineeringStrategy(new DefaultReverseEngineeringStrategy()) {
+    		public String tableToClassName(TableIdentifier tableIdentifier) {
+    			return super.tableToClassName( tableIdentifier ) + "Impl";
+    		}
+    	};
+
+    	custom.setSettings( new ReverseEngineeringSettings(custom) );
+    	
+    	TableIdentifier productTable = new TableIdentifier("product");
+		assertEquals("ProductImpl", custom.tableToClassName( productTable ));
+    	
+        assertEquals("productImpls", custom.foreignKeyToCollectionName("something", productTable, null, new TableIdentifier("order"), null, true ) );
+        /*assertEquals("willies", custom.foreignKeyToCollectionName("something", new TableIdentifier("willy"), null, new TableIdentifier("order"), null, true ) );
+		assertEquals("boxes", custom.foreignKeyToCollectionName("something", new TableIdentifier("box"), null, new TableIdentifier("order"), null, true ) );
+        assertEquals("order", custom.foreignKeyToEntityName("something", productTable, null, new TableIdentifier("order"), null, true ) );*/
+    }
+    
     public void testForeignKeyNamesToPropertyNames() {
     	
     	String fkName = "something";

Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/ManyToManyTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/ManyToManyTest.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/ManyToManyTest.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -42,7 +42,7 @@
 		localCfg = new JDBCMetaDataConfiguration();
         
         DefaultReverseEngineeringStrategy c = new DefaultReverseEngineeringStrategy();
-        c.setSettings(new ReverseEngineeringSettings().setDetectManyToMany(false));        
+        c.setSettings(new ReverseEngineeringSettings(c).setDetectManyToMany(false));        
         localCfg.setReverseEngineeringStrategy(c);
         localCfg.readFromJDBC();
 	}

Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/PersistentClassesTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/PersistentClassesTest.java	2006-11-02 04:22:27 UTC (rev 10682)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/PersistentClassesTest.java	2006-11-02 12:36:22 UTC (rev 10683)
@@ -48,7 +48,7 @@
 
     protected void configure(JDBCMetaDataConfiguration cfgToConfigure) {        
         DefaultReverseEngineeringStrategy c = new DefaultReverseEngineeringStrategy();
-        c.setSettings(new ReverseEngineeringSettings().setDefaultPackageName("persistentclasses"));
+        c.setSettings(new ReverseEngineeringSettings(c).setDefaultPackageName("persistentclasses"));
         cfgToConfigure.setReverseEngineeringStrategy(c);
     }
 	protected String[] getDropSQL() {




More information about the hibernate-commits mailing list