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>
|