[hibernate-commits] Hibernate SVN: r18479 - in search/trunk/src: test/java/org/hibernate/search/test/directoryProvider and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Sat Jan 9 10:23:37 EST 2010
Author: sannegrinovero
Date: 2010-01-09 10:23:37 -0500 (Sat, 09 Jan 2010)
New Revision: 18479
Modified:
search/trunk/src/main/java/org/hibernate/search/store/DirectoryProviderHelper.java
search/trunk/src/test/java/org/hibernate/search/test/directoryProvider/CustomLockProviderTest.java
Log:
HSEARCH-441 Custom LockFactory loading should use PluginLoader
Modified: search/trunk/src/main/java/org/hibernate/search/store/DirectoryProviderHelper.java
===================================================================
--- search/trunk/src/main/java/org/hibernate/search/store/DirectoryProviderHelper.java 2010-01-09 15:23:03 UTC (rev 18478)
+++ search/trunk/src/main/java/org/hibernate/search/store/DirectoryProviderHelper.java 2010-01-09 15:23:37 UTC (rev 18479)
@@ -43,7 +43,7 @@
import org.hibernate.search.SearchException;
import org.hibernate.search.util.FileHelper;
import org.hibernate.search.util.LoggerFactory;
-import org.hibernate.util.ReflectHelper;
+import org.hibernate.search.util.PluginLoader;
/**
* @author Emmanuel Bernard
@@ -161,26 +161,8 @@
return new NoLockFactory();
}
else {
- LockFactoryFactory lockFactoryFactory;
- try {
- Class lockFactoryClass = ReflectHelper.classForName( lockFactoryName, dirConfiguration.getClass() );
- lockFactoryFactory = (LockFactoryFactory) lockFactoryClass.newInstance();
- }
- catch (ClassNotFoundException e) {
- throw new SearchException( "Unable to find LockFactoryFactory class " + lockFactoryName, e );
- }
- catch (IllegalAccessException e) {
- throw new SearchException( "Unable to create instance of LockFactoryFactory class " + lockFactoryName
- + " Be sure to have a no-arg constructor", e );
- }
- catch (InstantiationException e) {
- throw new SearchException( "Unable to create instance of LockFactoryFactory class " + lockFactoryName
- + " Be sure to have a no-arg constructor", e );
- }
- catch (ClassCastException e) {
- throw new SearchException( "Class does not implement LockFactoryFactory: "
- + lockFactoryName, e );
- }
+ LockFactoryFactory lockFactoryFactory = PluginLoader.instanceFromName( LockFactoryFactory.class,
+ lockFactoryName, DirectoryProviderHelper.class, "locking_strategy" );
return lockFactoryFactory.createLockFactory( indexDir, dirConfiguration );
}
}
Modified: search/trunk/src/test/java/org/hibernate/search/test/directoryProvider/CustomLockProviderTest.java
===================================================================
--- search/trunk/src/test/java/org/hibernate/search/test/directoryProvider/CustomLockProviderTest.java 2010-01-09 15:23:03 UTC (rev 18478)
+++ search/trunk/src/test/java/org/hibernate/search/test/directoryProvider/CustomLockProviderTest.java 2010-01-09 15:23:37 UTC (rev 18479)
@@ -26,6 +26,7 @@
import junit.framework.TestCase;
+import org.hibernate.search.event.ContextHolder;
import org.hibernate.search.test.util.FullTextSessionBuilder;
/**
@@ -62,7 +63,7 @@
assertTrue( causeSearch instanceof org.hibernate.search.SearchException );
Throwable causeLockin = causeSearch.getCause();
assertNotNull( causeLockin );
- assertTrue( causeLockin.getMessage().startsWith("Unable to find LockFactory") );
+ assertEquals( "Unable to find locking_strategy implementation class: org.hibernate.NotExistingFactory", causeLockin.getMessage() );
}
}
More information about the hibernate-commits
mailing list