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

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Oct 14 13:32:43 EDT 2010


Author: epbernard
Date: 2010-10-14 13:32:43 -0400 (Thu, 14 Oct 2010)
New Revision: 20836

Modified:
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/SearchFactoryBuilder.java
   search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/configuration/mutablefactory/MutableFactoryTest.java
Log:
HSEARCH-555 Properly expose as public API the SearchFactoryBuilder

Accept SearchFactoryIntegrator instead of the concrete type in SearchFactoryBuilder#rootFactory

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/SearchFactoryBuilder.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/SearchFactoryBuilder.java	2010-10-14 17:31:59 UTC (rev 20835)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/SearchFactoryBuilder.java	2010-10-14 17:32:43 UTC (rev 20836)
@@ -118,8 +118,12 @@
 		return this;
 	}
 
-	public SearchFactoryBuilder rootFactory(MutableSearchFactory factory) {
-		this.rootFactory = factory;
+	public SearchFactoryBuilder rootFactory(SearchFactoryIntegrator factory) {
+		//We know that the only expected concrete type is MutableSearchFactory
+		//This could fail if some fancy framework proxy the object but at this stage they likely won't
+		//even proxy SearchFactoryIntegrator.
+		//If that happens we can provide a unwrap method to SearchFactory
+		this.rootFactory = (MutableSearchFactory) factory;
 		return this;
 	}
 

Modified: search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/configuration/mutablefactory/MutableFactoryTest.java
===================================================================
--- search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/configuration/mutablefactory/MutableFactoryTest.java	2010-10-14 17:31:59 UTC (rev 20835)
+++ search/trunk/hibernate-search/src/test/java/org/hibernate/search/test/configuration/mutablefactory/MutableFactoryTest.java	2010-10-14 17:32:43 UTC (rev 20836)
@@ -70,9 +70,9 @@
 		ManualConfiguration configuration = new ManualConfiguration()
 				.addProperty( "hibernate.search.default.directory_provider", RAMDirectoryProvider.class.getName() );
 		//FIXME downcasting of MSF. create a getDelegate() ?
-		MutableSearchFactory sf = (MutableSearchFactory) new SearchFactoryBuilder().configuration( configuration ).buildSearchFactory();
+		SearchFactoryIntegrator sf = new SearchFactoryBuilder().configuration( configuration ).buildSearchFactory();
 		final SearchFactoryBuilder builder = new SearchFactoryBuilder();
-		sf = (MutableSearchFactory) builder.rootFactory( sf )
+		sf = builder.rootFactory( sf )
 				.addClass( A.class )
 				.buildSearchFactory();
 



More information about the hibernate-commits mailing list