[hibernate-commits] Hibernate SVN: r17517 - in search/trunk/src: test/java/org/hibernate/search/test/filter and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Sep 15 10:05:40 EDT 2009


Author: sannegrinovero
Date: 2009-09-15 10:05:40 -0400 (Tue, 15 Sep 2009)
New Revision: 17517

Modified:
   search/trunk/src/main/java/org/hibernate/search/query/FullTextQueryImpl.java
   search/trunk/src/test/java/org/hibernate/search/test/filter/FilterTest.java
Log:
HSEARCH-398 NPE when named FullTextFilter is disabled without being enabled first (on trunk)

Modified: search/trunk/src/main/java/org/hibernate/search/query/FullTextQueryImpl.java
===================================================================
--- search/trunk/src/main/java/org/hibernate/search/query/FullTextQueryImpl.java	2009-09-15 13:28:56 UTC (rev 17516)
+++ search/trunk/src/main/java/org/hibernate/search/query/FullTextQueryImpl.java	2009-09-15 14:05:40 UTC (rev 17517)
@@ -94,7 +94,7 @@
 	private boolean allowFieldSelectionInProjection = true;
 	private ResultTransformer resultTransformer;
 	private SearchFactoryImplementor searchFactoryImplementor;
-	private Map<String, FullTextFilterImpl> filterDefinitions;
+	private final Map<String, FullTextFilterImpl> filterDefinitions = new HashMap<String, FullTextFilterImpl>();
 	private int fetchSize = 1;
 	private static final FullTextFilterImplementor[] EMPTY_FULL_TEXT_FILTER_IMPLEMENTOR = new FullTextFilterImplementor[0];
 
@@ -406,7 +406,7 @@
 
 	private void buildFilters() {
 		ChainedFilter chainedFilter = null;
-		if ( ! ( filterDefinitions == null || filterDefinitions.size() == 0 ) ) {
+		if ( ! filterDefinitions.isEmpty() ) {
 			chainedFilter = new ChainedFilter();
 			for ( FullTextFilterImpl fullTextFilter : filterDefinitions.values() ) {
 				Filter filter = buildLuceneFilter( fullTextFilter );
@@ -874,9 +874,6 @@
 	}
 
 	public FullTextFilter enableFullTextFilter(String name) {
-		if ( filterDefinitions == null ) {
-			filterDefinitions = new HashMap<String, FullTextFilterImpl>();
-		}
 		FullTextFilterImpl filterDefinition = filterDefinitions.get( name );
 		if ( filterDefinition != null ) {
 			return filterDefinition;

Modified: search/trunk/src/test/java/org/hibernate/search/test/filter/FilterTest.java
===================================================================
--- search/trunk/src/test/java/org/hibernate/search/test/filter/FilterTest.java	2009-09-15 13:28:56 UTC (rev 17516)
+++ search/trunk/src/test/java/org/hibernate/search/test/filter/FilterTest.java	2009-09-15 14:05:40 UTC (rev 17517)
@@ -33,7 +33,8 @@
 		assertEquals("No filter should happen", 3, ftQuery.getResultSize() );
 
 		ftQuery = s.createFullTextQuery( query, Driver.class );
-		ftQuery.enableFullTextFilter( "bestDriver");
+		ftQuery.disableFullTextFilter( "bestDriver" ); //was not enabled, but should be harmless
+		ftQuery.enableFullTextFilter( "bestDriver" );
 		assertEquals("Should filter out Gavin", 2, ftQuery.getResultSize() );
 
 		ftQuery = s.createFullTextQuery( query, Driver.class );



More information about the hibernate-commits mailing list