[hibernate-commits] Hibernate SVN: r20800 - in search/trunk/hibernate-search/src: main/java/org/hibernate/search/jpa/impl and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Oct 11 04:54:42 EDT 2010


Author: epbernard
Date: 2010-10-11 04:54:42 -0400 (Mon, 11 Oct 2010)
New Revision: 20800

Added:
   search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/engine/FullTextWrapperTest.java
Modified:
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/FullTextSessionImpl.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/jpa/impl/FullTextEntityManagerImpl.java
Log:
HSEARCH-556 Raise IllegaLArgumentException when passing a null Session or EntityManager to Search

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/FullTextSessionImpl.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/FullTextSessionImpl.java	2010-10-11 08:53:51 UTC (rev 20799)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/FullTextSessionImpl.java	2010-10-11 08:54:42 UTC (rev 20800)
@@ -100,6 +100,9 @@
 
 
 	public FullTextSessionImpl(org.hibernate.Session session) {
+		if ( session  == null ) {
+			throw new IllegalArgumentException("Unable to create a FullTextSession from an null Session object");
+		}
 		this.session = ( Session ) session;
 		this.transactionContext = new EventSourceTransactionContext( ( EventSource ) session );
 		this.sessionImplementor = ( SessionImplementor ) session;

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/jpa/impl/FullTextEntityManagerImpl.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/jpa/impl/FullTextEntityManagerImpl.java	2010-10-11 08:53:51 UTC (rev 20799)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/jpa/impl/FullTextEntityManagerImpl.java	2010-10-11 08:54:42 UTC (rev 20800)
@@ -54,6 +54,9 @@
 	private FullTextSession ftSession;
 
 	public FullTextEntityManagerImpl(EntityManager em) {
+		if ( em  == null ) {
+			throw new IllegalArgumentException("Unable to create a FullTextEntityManager from a null EntityManager");
+		}
 		this.em = em;
 	}
 

Added: search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/engine/FullTextWrapperTest.java
===================================================================
--- search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/engine/FullTextWrapperTest.java	                        (rev 0)
+++ search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/engine/FullTextWrapperTest.java	2010-10-11 08:54:42 UTC (rev 20800)
@@ -0,0 +1,40 @@
+package org.hibernate.search.test.engine;
+
+import org.hibernate.search.Search;
+import org.hibernate.search.store.RAMDirectoryProvider;
+import org.hibernate.search.test.SearchTestCase;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class FullTextWrapperTest extends SearchTestCase {
+
+	public void testSearch() throws Exception {
+		try {
+			Search.getFullTextSession( null );
+		}
+		catch (IllegalArgumentException e) {
+			//good
+		}
+
+		try {
+			org.hibernate.search.jpa.Search.getFullTextEntityManager( null );
+		}
+		catch (IllegalArgumentException e) {
+			//good
+		}
+	}
+
+	// Test setup options - Entities
+	@Override
+	protected Class<?>[] getAnnotatedClasses() {
+		return new Class[] { BusLine.class, BusStop.class };
+	}
+
+	// Test setup options - SessionFactory Properties
+	@Override
+	protected void configure(org.hibernate.cfg.Configuration configuration) {
+		super.configure( configuration );
+		cfg.setProperty( "hibernate.search.default.directory_provider", RAMDirectoryProvider.class.getName() );
+	}
+}



More information about the hibernate-commits mailing list