Index: D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.java =================================================================== --- D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.java (revision 0) +++ D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.java (revision 0) @@ -0,0 +1,45 @@ +package org.hibernate.tool.hbm2x.hbm2hbmxml; + +import java.util.HashSet; +import java.util.Set; + +/** + * @author Paco Hernández + */ +public class Car implements java.io.Serializable { + + private long id; + private String model; + private Set carParts = new HashSet(); + + /** + * @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 model. + */ + public String getModel() { + return model; + } + /** + * @param model The model to set. + */ + public void setModel(String model) { + this.model = model; + } + public Set getCarParts() { + return carParts; + } + public void setCarParts(Set carParts) { + this.carParts = carParts; + } +} Property changes on: D:\workspaces\hibernate-ganymede\HibernateExt\tools\src\test\org\hibernate\tool\hbm2x\hbm2hbmxml\Car.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Id Revision Date Name: svn:eol-style + native Index: D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/BackrefTest.java =================================================================== --- D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/BackrefTest.java (revision 0) +++ D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/BackrefTest.java (revision 0) @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2007-2008 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 junit.framework.Test; +import junit.framework.TestSuite; + +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 BackrefTest extends NonReflectiveTestCase { + + private String mappingFile = "Car.hbm.xml"; + + private Exporter hbmexporter; + + /** + * @param name + */ + public BackrefTest(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 testBackrefPresent() { + Configuration config = getCfg(); + PersistentClass pc = config.getClassMapping("org.hibernate.tool.hbm2x.hbm2hbmxml.CarPart"); + Iterator iterator = pc.getPropertyIterator(); + boolean hasBackrefs = false; + while (iterator.hasNext() && !hasBackrefs) { + hasBackrefs = (iterator.next() instanceof Backref); + } + assertTrue("Class mapping should create Backref for this testcase", hasBackrefs); + } + + 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(BackrefTest.class); + } + +} Property changes on: D:\workspaces\hibernate-ganymede\HibernateExt\tools\src\test\org\hibernate\tool\hbm2x\hbm2hbmxml\BackrefTest.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Id Revision Date Name: svn:eol-style + native Index: D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java =================================================================== --- D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java (revision 16043) +++ D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Cfg2HbmAllTests.java (working copy) @@ -18,6 +18,7 @@ suite.addTest(OneToOneTest.suite()); suite.addTest(InheritanceTest.suite()); suite.addTest(SetElementTest.suite()); + suite.addTest(BackrefTest.suite()); //$JUnit-END$ return suite; } Index: D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml =================================================================== --- D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml (revision 0) +++ D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/Car.hbm.xml (revision 0) @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Property changes on: D:\workspaces\hibernate-ganymede\HibernateExt\tools\src\test\org\hibernate\tool\hbm2x\hbm2hbmxml\Car.hbm.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Index: D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java =================================================================== --- D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java (revision 0) +++ D:/workspaces/hibernate-ganymede/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/hbm2hbmxml/CarPart.java (revision 0) @@ -0,0 +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; + } +} Property changes on: D:\workspaces\hibernate-ganymede\HibernateExt\tools\src\test\org\hibernate\tool\hbm2x\hbm2hbmxml\CarPart.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Id Revision Date Name: svn:eol-style + native