Author: max...@jb... Date: 2006-06-25 12:27:43 -0400 (Sun, 25 Jun 2006) New Revision: 10050 Added: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/Group.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/QueryExporterTest.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/User.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/UserGroup.hbm.xml Modified: trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/QueryExporter.java trunk/HibernateExt/tools/src/testsupport/anttest-build.xml Log: HBX-689 The query task throws NSE Modified: trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/QueryExporter.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/QueryExporter.java 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x/QueryExporter.java 2006-06-25 16:27:43 UTC (rev 10050) @@ -44,7 +44,7 @@ getArtifactCollector().addFile( file, "query-output" ); for (Iterator iter1 = list.iterator(); iter1.hasNext();) { - Object element = iter.next(); + Object element = iter1.next(); pw.println(element); } Added: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/Group.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/Group.java 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/Group.java 2006-06-25 16:27:43 UTC (rev 10050) @@ -0,0 +1,56 @@ +//$Id: Group.java 7085 2005-06-08 17:59:47Z oneovthafew $ +package org.hibernate.tool.hbm2x.query; + +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +public class Group implements Serializable { + + private String org; + private String name; + private String description; + + private Set users = new HashSet(); + + public Group(String name, String org) { + this.org = org; + this.name = name; + } + + public Group() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getOrg() { + return org; + } + + public void setOrg(String org) { + this.org = org; + } + + public Set getUsers() { + return users; + } + + public void setUsers(Set users) { + this.users = users; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + +} Added: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/QueryExporterTest.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/QueryExporterTest.java 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/QueryExporterTest.java 2006-06-25 16:27:43 UTC (rev 10050) @@ -0,0 +1,66 @@ +package org.hibernate.tool.hbm2x.query; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Environment; +import org.hibernate.classic.Session; +import org.hibernate.tool.NonReflectiveTestCase; +import org.hibernate.tool.hbm2x.QueryExporter; + +public class QueryExporterTest extends NonReflectiveTestCase { + + public QueryExporterTest(String name) { + super( name ); + } + + protected String[] getMappings() { + return new String[] { "UserGroup.hbm.xml"}; + } + + protected String getBaseForMappings() { + return super.getBaseForMappings() + "hbm2x/query/"; + } + + String FILE = "queryresult.txt"; + + protected void setUp() throws Exception { + super.setUp(); + getCfg().setProperty( Environment.HBM2DDL_AUTO, "update" ); + SessionFactory factory = getCfg().buildSessionFactory(); + + Session s = factory.openSession(); + + User user = new User("max", "jboss"); + s.persist( user ); + + user = new User("gavin", "jboss"); + s.persist( user ); + + s.flush(); + + s.close(); + + QueryExporter exporter = new QueryExporter(); + exporter.setConfiguration( getCfg() ); + exporter.setOutputDirectory( getOutputDir() ); + exporter.setFilename( FILE ); + List queries = new ArrayList(); + queries.add("from java.lang.Object"); + exporter.setQueries( queries ); + + exporter.start(); + + } + + + public void testQueryExporter() { + + assertFileAndExists( new File(getOutputDir(), FILE )); + + + } + +} Added: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/User.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/User.java 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/User.java 2006-06-25 16:27:43 UTC (rev 10050) @@ -0,0 +1,46 @@ +//$Id: User.java 7085 2005-06-08 17:59:47Z oneovthafew $ +package org.hibernate.tool.hbm2x.query; + +import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; + +public class User implements Serializable { + + private String org; + private String name; + private Set groups = new HashSet(); + + public User(String name, String org) { + this.org = org; + this.name = name; + } + + public User() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getOrg() { + return org; + } + + public void setOrg(String org) { + this.org = org; + } + + public Set getGroups() { + return groups; + } + + public void setGroups(Set groups) { + this.groups = groups; + } + +} Added: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/UserGroup.hbm.xml =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/UserGroup.hbm.xml 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/query/UserGroup.hbm.xml 2006-06-25 16:27:43 UTC (rev 10050) @@ -0,0 +1,52 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + +<!-- + + This mapping demonstrates how to map a many-to-many + association with a shared attribute in the primary keys + of the associated entities. + +--> + +<hibernate-mapping + package="org.hibernate.tool.hbm2x.query"> + + <class name="User" table="`User`"> + <composite-id> + <key-property name="name"/> + <key-property name="org"/> + </composite-id> + <set name="groups" table="UserGroup"> + <key> + <column name="userName"/> + <column name="org"/> + </key> + <many-to-many class="Group"> + <column name="groupName"/> + <formula>org</formula> + </many-to-many> + </set> + </class> + + <class name="Group" table="`Group`"> + <composite-id> + <key-property name="name"/> + <key-property name="org"/> + </composite-id> + <property name="description"/> + <set name="users" table="UserGroup" inverse="true"> + <key> + <column name="groupName"/> + <column name="org"/> + </key> + <many-to-many class="User"> + <column name="userName"/> + <formula>org</formula> + </many-to-many> + </set> + </class> + +</hibernate-mapping> Modified: trunk/HibernateExt/tools/src/testsupport/anttest-build.xml =================================================================== --- trunk/HibernateExt/tools/src/testsupport/anttest-build.xml 2006-06-25 14:37:50 UTC (rev 10049) +++ trunk/HibernateExt/tools/src/testsupport/anttest-build.xml 2006-06-25 16:27:43 UTC (rev 10050) @@ -236,6 +236,8 @@ <target name="prepareCfg2hbm" description="prepare for cfg2hbm tasks"> <sql onerror="continue" driver="${hibernate.connection.driver_class}" url="${hibernate.connection.url}" userid="${hibernate.connection.username}" password="${hibernate.connection.password}" classpath="${hibernate-core.home}\jdbc\hsqldb.jar"> create table VeriSimplyTable ( id bigint not null, name varchar(255), primary key (id) ); + insert table VeriSimplyTable ( 1, "A Row"); + insert table VeriSimplyTable ( 2, "Another Row"); </sql> <delete dir="${build.dir}/cfg2hbm" failonerror="false" /> @@ -244,6 +246,7 @@ <target name="afterCfg2hbm" description="prepare for cfg2hbm tasks"> <sql onerror="continue" driver="${hibernate.connection.driver_class}" url="${hibernate.connection.url}" userid="${hibernate.connection.username}" password="${hibernate.connection.password}" classpath="${hibernate-core.home}\jdbc\hsqldb.jar"> + delete from VeriSimplyTable where id > 0; drop table VeriSimplyTable; </sql> @@ -328,7 +331,7 @@ </hibernatetool> </target> - <target name="testquery" description="test the query tasks"> + <target name="testquery" depends="prepareCfg2hbm" description="test the query tasks"> <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="tasks.classpath" /> <hibernatetool destdir="${build.dir}/querytest"> <configuration propertyfile="../../etc/hibernate.properties" configurationfile="querytest-hibernate.cfg.xml" /> @@ -338,5 +341,7 @@ </query> <query destfile="queryresult.txt">from java.io.Serializable</query> </hibernatetool> + + <antcall target="afterCfg2hbm" /> </target> </project> |