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();
Show replies by date