[hibernate-commits] Hibernate SVN: r16596 - in branches/Branch_3_2/HibernateExt/tools: src/java/org/hibernate/tool and 3 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue May 19 07:50:10 EDT 2009
Author: max.andersen at jboss.com
Date: 2009-05-19 07:50:10 -0400 (Tue, 19 May 2009)
New Revision: 16596
Added:
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/AbstractTest.java
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Order.hbm.xml
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/TypeParamsTest.java
Modified:
branches/Branch_3_2/HibernateExt/tools/build.xml
branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/Version.java
branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2HbmTool.java
branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/persistentclass.hbm.ftl
branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/property.hbm.ftl
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Aliens.hbm.xml
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java
branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/InheritanceTest.java
Log:
JBIDE-3914 ( Cfg2HbmTool.needsTable() method returns true for Subclass object),
JBIDE-4050 (Abstract attribute is never exported in persistent class.),
JBIDE-4052 (getFetchMode calles NullPointerException when was not set)
JBIDE-4198 ( Parametrized type should be exported with it's parameters )
Modified: branches/Branch_3_2/HibernateExt/tools/build.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/build.xml 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/build.xml 2009-05-19 11:50:10 UTC (rev 16596)
@@ -7,7 +7,7 @@
<!-- Name of project and version, used to create filenames -->
<property name="Name" value="Hibernate Tools"/>
<property name="name" value="hibernate-tools"/>
- <property name="version" value="3.2.4.GA"/>
+ <property name="version" value="3.2.5.GA"/>
<property name="javadoc.packagenames" value="org.hibernate.tool"/>
Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/Version.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/Version.java 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/Version.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -5,7 +5,7 @@
final public class Version {
- public static final String VERSION = "3.2.4.GA";
+ public static final String VERSION = "3.2.5.Beta";
private static final Version instance = new Version();
Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2HbmTool.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2HbmTool.java 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/Cfg2HbmTool.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -17,12 +17,10 @@
import org.hibernate.engine.query.sql.NativeSQLQueryReturn;
import org.hibernate.engine.query.sql.NativeSQLQueryRootReturn;
import org.hibernate.mapping.Any;
-import org.hibernate.mapping.Backref;
import org.hibernate.mapping.Collection;
import org.hibernate.mapping.Column;
import org.hibernate.mapping.Component;
import org.hibernate.mapping.Formula;
-import org.hibernate.mapping.IndexBackref;
import org.hibernate.mapping.JoinedSubclass;
import org.hibernate.mapping.ManyToOne;
import org.hibernate.mapping.OneToMany;
@@ -312,7 +310,7 @@
}
public String getFetchMode(Property property) {
FetchMode fetchMode = property.getValue().getFetchMode();
- return fetchMode.toString().toLowerCase();
+ return (fetchMode== null) ? null : fetchMode.toString().toLowerCase();
}
@@ -382,6 +380,11 @@
return !(cfg.getImports().isEmpty());
}
+ public boolean needsDiscriminatorElement(PersistentClass clazz) {
+ return clazz instanceof RootClass
+ && (clazz.getDiscriminator() != null);
+ }
+
public boolean needsDiscriminator(PersistentClass clazz) {
return clazz instanceof Subclass
Modified: branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/persistentclass.hbm.ftl
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/persistentclass.hbm.ftl 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/persistentclass.hbm.ftl 2009-05-19 11:50:10 UTC (rev 16596)
@@ -38,7 +38,7 @@
<#elseif !clazz.isLazy()>
lazy="false"
</#if>
-<#if clazz.abstract?exists && clazz.abstract>
+<#if clazz.isAbstract()?exists && clazz.isAbstract()>
abstract="true"
</#if>
<#if c2h.isClassLevelOptimisticLockMode(clazz)>
@@ -102,6 +102,15 @@
</key>
</#if>
+<#if c2h.needsDiscriminatorElement(clazz)>
+ <discriminator type="${clazz.discriminator.typeName}">
+ <#foreach column in clazz.discriminator.columnIterator>
+ <#include "column.hbm.ftl">
+ </#foreach>
+ </discriminator>
+</#if>
+
+
<#-- version has to be done explicitly since Annotation's does not list version first -->
<#if pojo.hasVersionProperty()>
<#assign property=clazz.getVersion()/>
Modified: branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/property.hbm.ftl
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/property.hbm.ftl 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/templates/hbm/property.hbm.ftl 2009-05-19 11:50:10 UTC (rev 16596)
@@ -1,6 +1,8 @@
<property
name="${property.name}"
- type="${property.value.typeName}"
+<#if !property.value.typeParameters?exists>
+ type="${property.value.typeName}"
+</#if>
<#if !property.updateable>
update="false"
</#if>
@@ -28,5 +30,12 @@
<#foreach column in property.columnIterator>
<#include "column.hbm.ftl">
</#foreach>
+ <#if property.value.typeParameters?exists>
+ <type name="${property.value.typeName}">
+ <#foreach entry in property.value.typeParameters.entrySet()>
+ <param name="${entry.key}">${entry.value}</param>
+ </#foreach>
+ </type>
+ </#if>
</property>
Added: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/AbstractTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/AbstractTest.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/AbstractTest.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.hibernate.tool.hbm2x.hbm2hbmxml;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.mapping.Backref;
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.tool.NonReflectiveTestCase;
+import org.hibernate.tool.hbm2x.Exporter;
+import org.hibernate.tool.hbm2x.HibernateMappingExporter;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class AbstractTest extends NonReflectiveTestCase {
+
+ private String mappingFile = "Car.hbm.xml";
+
+ private Exporter hbmexporter;
+
+ /**
+ * @param name
+ */
+ public AbstractTest(String name) {
+ super(name, "cfg2hbmoutput");
+ }
+
+ protected String[] getMappings() {
+ return new String[] {
+ mappingFile
+ };
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ hbmexporter = new HibernateMappingExporter(getCfg(), getOutputDir() );
+ hbmexporter.start();
+ }
+
+ public void testAllFilesExistence() {
+ assertFileAndExists(new File(getOutputDir().getAbsolutePath(), getBaseForMappings() + "Car.hbm.xml") );
+ assertFileAndExists(new File(getOutputDir().getAbsolutePath(), getBaseForMappings() + "CarPart.hbm.xml") );
+ }
+
+ public void testAbstractPresent() {
+ File outputXml = new File(getOutputDir().getAbsolutePath() + "/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.hbm.xml");
+ assertFileAndExists(outputXml);
+
+ SAXReader xmlReader = this.getSAXReader();
+
+ Document document;
+ try {
+ document = xmlReader.read(outputXml);
+ XPath xpath = DocumentHelper.createXPath("//hibernate-mapping/class");
+ List list = xpath.selectNodes(document);
+ assertEquals("Expected to get one class element", 1, list.size());
+ Element node = (Element) list.get(0);
+ assertNotNull("Abstract attrinute was not exported.", node.attribute( "abstract" ));
+ assertEquals(node.attribute( "abstract" ).getText(),"true");
+ } catch (DocumentException e) {
+ fail("Can't parse file " + outputXml.getAbsolutePath());
+ }
+ }
+
+ public void testReadable() {
+ Configuration cfg = new Configuration();
+
+ cfg.addFile(new File(getOutputDir(), getBaseForMappings() + "Car.hbm.xml"));
+ cfg.addFile(new File(getOutputDir(), getBaseForMappings() + "CarPart.hbm.xml"));
+
+ cfg.buildMappings();
+ }
+
+ protected String getBaseForMappings() {
+ return "org/hibernate/tool/hbm2x/hbm2hbmxml/";
+ }
+
+ public static Test suite() {
+ return new TestSuite(AbstractTest.class);
+ }
+
+}
Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Aliens.hbm.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Aliens.hbm.xml 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Aliens.hbm.xml 2009-05-19 11:50:10 UTC (rev 16596)
@@ -18,6 +18,9 @@
<id name="id" type="long">
<generator class="assigned"/>
</id>
+ <discriminator type="string">
+ <column name="HIER_TYPE" length="5" not-null="true" />
+ </discriminator>
<property name="legs" type="int"/>
</class>
Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml 2009-05-19 11:50:10 UTC (rev 16596)
@@ -16,7 +16,7 @@
</set>
</class>
- <class name="CarPart" node="carPart">
+ <class name="CarPart" node="carPart" abstract="true">
<id name="id" node="@id" type="long">
<generator class="increment"/>
</id>
Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -1,35 +1,35 @@
-package org.hibernate.tool.hbm2x.hbm2hbmxml;
-
-/**
- * @author Paco Hern�ndez
- */
-public class CarPart implements java.io.Serializable {
-
- private long id;
- private String partName;
-
- /**
- * @return Returns the id.
- */
- public long getId() {
- return id;
- }
- /**
- * @param id The id to set.
- */
- public void setId(long id) {
- this.id = id;
- }
- /**
- * @return Returns the typeName.
- */
- public String getPartName() {
- return partName;
- }
- /**
- * @param typeName The typeName to set.
- */
- public void setPartName(String typeName) {
- this.partName = typeName;
- }
-}
+package org.hibernate.tool.hbm2x.hbm2hbmxml;
+
+/**
+ * @author Paco Hern�ndez
+ */
+public abstract class CarPart implements java.io.Serializable {
+
+ private long id;
+ private String partName;
+
+ /**
+ * @return Returns the id.
+ */
+ public long getId() {
+ return id;
+ }
+ /**
+ * @param id The id to set.
+ */
+ public void setId(long id) {
+ this.id = id;
+ }
+ /**
+ * @return Returns the typeName.
+ */
+ public String getPartName() {
+ return partName;
+ }
+ /**
+ * @param typeName The typeName to set.
+ */
+ public void setPartName(String typeName) {
+ this.partName = typeName;
+ }
+}
Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -20,6 +20,8 @@
suite.addTest(SetElementTest.suite());
suite.addTest(BackrefTest.suite());
suite.addTest(Cfg2HbmToolTest.suite());
+ suite.addTest(AbstractTest.suite());
+ suite.addTest(TypeParamsTest.suite());
//$JUnit-END$
return suite;
}
Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/InheritanceTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/InheritanceTest.java 2009-05-19 10:29:18 UTC (rev 16595)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/InheritanceTest.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -16,6 +16,7 @@
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
import org.dom4j.XPath;
import org.dom4j.io.SAXReader;
import org.hibernate.cfg.Configuration;
@@ -82,9 +83,24 @@
} catch (DocumentException e) {
fail("Can't parse file " + outputXml.getAbsolutePath());
}
- }
+ }
+
+ public void testDiscriminator() throws DocumentException {
+ File outputXml = new File(getOutputDir().getAbsolutePath() + "/org/hibernate/tool/hbm2x/hbm2hbmxml/Animal.hbm.xml");
+ assertFileAndExists(outputXml);
+ SAXReader xmlReader = this.getSAXReader();
+ Document document = xmlReader.read(outputXml);
+ XPath xpath = DocumentHelper.createXPath("//hibernate-mapping/class/discriminator");
+ List list = xpath.selectNodes(document);
+ assertEquals("Expected to get one discriminator element", 1, list.size());
+
+ Element node = (Element) list.get(0);
+ assertEquals(node.attribute( "type" ).getText(), "string");
+
+ }
+
protected String getBaseForMappings() {
return "org/hibernate/tool/hbm2x/hbm2hbmxml/";
}
Added: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Order.hbm.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Order.hbm.xml (rev 0)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Order.hbm.xml 2009-05-19 11:50:10 UTC (rev 16596)
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<!-- Generated 17.04.2009 10:41:19 by Hibernate Tools 3.2.4.GA -->
+<hibernate-mapping>
+ <class name="org.hibernate.tool.hbm2x.hbm2hbmxml.Order" table="ORDERS">
+ <id name="orderId" type="long">
+ <column name="ORDERID"/>
+ <generator class="native"/>
+ </id>
+ <property generated="never" lazy="false" name="status">
+ <column name="STATUS"/>
+ <type name="org.hibernate.type.EnumType">
+ <param name="catalog"/>
+ <param name="column">STATUS</param>
+ <param name="table">ORDERS</param>
+ <param name="schema"/>
+ <param name="enumClass">org.hibernate.tool.hbm2x.hbm2hbmxml.Order$Status</param>
+ </type>
+ </property>
+ <property name="name" type="string"/>
+ </class>
+</hibernate-mapping>
Added: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/TypeParamsTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/TypeParamsTest.java (rev 0)
+++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/TypeParamsTest.java 2009-05-19 11:50:10 UTC (rev 16596)
@@ -0,0 +1,195 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.hibernate.tool.hbm2x.hbm2hbmxml;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.tool.NonReflectiveTestCase;
+import org.hibernate.tool.hbm2x.Exporter;
+import org.hibernate.tool.hbm2x.HibernateMappingExporter;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class TypeParamsTest extends NonReflectiveTestCase {
+
+ private String mappingFile = "Order.hbm.xml";
+
+ private Exporter hbmexporter;
+
+ /**
+ * @param name
+ */
+ public TypeParamsTest(String name) {
+ super(name, "cfg2hbmoutput");
+ }
+
+
+ protected String[] getMappings() {
+ return new String[] {
+ mappingFile
+ };
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ hbmexporter = new HibernateMappingExporter(getCfg(), getOutputDir() );
+ hbmexporter.start();
+ }
+
+ public void testAllFilesExistence() {
+ assertFileAndExists(new File(getOutputDir().getAbsolutePath(), getBaseForMappings() + mappingFile) );
+ }
+
+ public void testReadable() {
+ Configuration cfg = new Configuration();
+ cfg.addFile(new File(getOutputDir(), getBaseForMappings() + "Order.hbm.xml"));
+ cfg.buildMappings();
+ }
+
+ public void testTypeParamsElements() throws DocumentException {
+ File outputXml = new File(getOutputDir(), getBaseForMappings() + mappingFile);
+ assertFileAndExists(outputXml);
+
+ SAXReader xmlReader = getSAXReader();
+
+ Document document = xmlReader.read(outputXml);
+
+ XPath xpath = DocumentHelper.createXPath("//hibernate-mapping/class/property");
+ List list = xpath.selectNodes(document);
+ assertEquals("Expected to get one property element", 2, list.size());
+ Element statusElement = (Element) list.get(0);
+ Element nameElement = (Element) list.get(1);
+ if(!statusElement.attribute( "name" ).getText().equals("status")) {
+ Element temp = nameElement;
+ nameElement = statusElement;
+ statusElement = temp;
+ }
+ assertEquals(statusElement.attribute( "name" ).getText(),"status");
+
+ list = statusElement.elements("type");
+ assertEquals("Expected to get one type element", 1, list.size());
+
+ list = ((Element) list.get(0)).elements("param");
+ assertEquals("Expected to get 5 params elements", list.size(), 5);
+
+ Map params = new HashMap();
+ for (int i = 0; i < list.size(); i++) {
+ Element param = (Element) list.get(i);
+ params.put(param.attribute( "name" ).getText(), param.getText());
+ }
+
+ Set set = params.entrySet();
+ assertEquals("Expected to get 5 different params elements", set.size(), 5);
+
+ assertTrue("Can't find 'catalog' param",
+ set.contains(new TestEntry("catalog", "")));
+
+ assertTrue("Can't find 'column' param",
+ set.contains(new TestEntry("column", "STATUS")));
+
+ assertTrue("Can't find 'table' param",
+ set.contains(new TestEntry("table", "ORDERS")));
+
+ assertTrue("Can't find 'schema' param",
+ set.contains(new TestEntry("schema", "")));
+
+ assertTrue("Can't find 'enumClass' param",
+ set.contains(new TestEntry("enumClass", "org.hibernate.tool.hbm2x.hbm2hbmxml.Order$Status")));
+
+ assertTrue("property name should not have any type element",nameElement.elements("type").isEmpty());
+ assertEquals(nameElement.attribute("type").getText(), "string");
+ }
+
+ protected String getBaseForMappings() {
+ return "org/hibernate/tool/hbm2x/hbm2hbmxml/";
+ }
+
+ public static Test suite() {
+ return new TestSuite(TypeParamsTest.class);
+ }
+
+}
+
+class TestEntry implements Entry{
+
+ private Object key;
+
+ private Object value;
+
+ public TestEntry(Object key, Object value){
+ this.key = key;
+ this.value = value;
+ }
+
+ public Object getKey() {
+ return key;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object setValue(Object value) {
+ return this.value = value;
+ }
+
+
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((key == null) ? 0 : key.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
+
+
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (!(obj instanceof Entry)){
+ return false;
+ }
+
+ Entry other = (Entry) obj;
+ if (key == null) {
+ if (other.getKey() != null)
+ return false;
+ } else if (!key.equals(other.getKey()))
+ return false;
+ if (value == null) {
+ if (other.getValue() != null)
+ return false;
+ } else if (!value.equals(other.getValue()))
+ return false;
+ return true;
+ }
+
+
+
+}
More information about the hibernate-commits
mailing list