[hibernate-commits] Hibernate SVN: r19124 - search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/query.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Sun Mar 28 15:07:15 EDT 2010


Author: sannegrinovero
Date: 2010-03-28 15:07:14 -0400 (Sun, 28 Mar 2010)
New Revision: 19124

Modified:
   search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/query/MultiClassesQueryLoaderTest.java
Log:
HSEARCH-322 Review MultiClassesQueryLoader - no problems, just added an extra test

Modified: search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/query/MultiClassesQueryLoaderTest.java
===================================================================
--- search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/query/MultiClassesQueryLoaderTest.java	2010-03-28 18:35:44 UTC (rev 19123)
+++ search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/query/MultiClassesQueryLoaderTest.java	2010-03-28 19:07:14 UTC (rev 19124)
@@ -38,6 +38,7 @@
 
 /**
  * @author Emmanuel Bernard
+ * @author Sanne Grinovero
  */
 public class MultiClassesQueryLoaderTest extends SearchTestCase {
 
@@ -61,10 +62,44 @@
 		List result = hibQuery.list();
 		assertEquals( "Should have returned no author", 0, result.size() );
 
-		for (Object o : s.createCriteria( Object.class ).list()) {
-			s.delete( o );
-		}
+		tx.commit();
+		s.close();
+	}
+	
+	public void testObjectTypeFiltering() throws Exception {
+		Session sess = openSession();
+		Transaction tx = sess.beginTransaction();
+		Author author = new Author();
+		author.setName( "Moo Cow" );
+		Music music = new Music();
+		music.addAuthor( author );
+		music.setTitle( "The moo moo mooing under the stars" );
+		Book book = new Book();
+		book.setBody( "This is the story of the Moo Cow, who sang the moo moo moo at night" );
+		book.setId( 1 );
+		sess.persist( book );
+		sess.persist( author );
+		sess.persist( music );
+		tx.commit();
+		sess.clear();
 
+		FullTextSession s = Search.getFullTextSession( sess );
+		tx = s.beginTransaction();
+		QueryParser parser = new QueryParser( getTargetLuceneVersion(), "title", SearchTestCase.keywordAnalyzer );
+		Query query = parser.parse( "name:moo OR title:moo OR body:moo" );
+		FullTextQuery hibQuery = s.createFullTextQuery( query, Music.class );
+		List result = hibQuery.list();
+		assertEquals( "Should match the music only", 1, result.size() );
+		hibQuery = s.createFullTextQuery( query, Author.class, Music.class );
+		result = hibQuery.list();
+		assertEquals( "Should match the author and music only", 2, result.size() );
+		hibQuery = s.createFullTextQuery( query, Author.class, Music.class, Book.class );
+		result = hibQuery.list();
+		assertEquals( "Should match the author, music and book", 3, result.size() );
+		hibQuery = s.createFullTextQuery( query );
+		result = hibQuery.list();
+		assertEquals( "Should match all types", 3, result.size() );
+
 		tx.commit();
 		s.close();
 	}
@@ -72,7 +107,9 @@
 	protected Class<?>[] getMappings() {
 		return new Class[] {
 				Author.class,
-				Music.class
+				Music.class,
+				Book.class
 		};
 	}
+	
 }



More information about the hibernate-commits mailing list