[hibernate-commits] Hibernate SVN: r11626 - trunk/HibernateExt/search/src/java/org/hibernate/search/util.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Mon Jun 4 13:42:10 EDT 2007
Author: epbernard
Date: 2007-06-04 13:42:10 -0400 (Mon, 04 Jun 2007)
New Revision: 11626
Modified:
trunk/HibernateExt/search/src/java/org/hibernate/search/util/DirectoryProviderHelper.java
Log:
HSEARCH-70 Better usability, create the base directory if it does not exists
Modified: trunk/HibernateExt/search/src/java/org/hibernate/search/util/DirectoryProviderHelper.java
===================================================================
--- trunk/HibernateExt/search/src/java/org/hibernate/search/util/DirectoryProviderHelper.java 2007-06-04 16:21:54 UTC (rev 11625)
+++ trunk/HibernateExt/search/src/java/org/hibernate/search/util/DirectoryProviderHelper.java 2007-06-04 17:42:10 UTC (rev 11626)
@@ -39,7 +39,7 @@
log.debug( "No root directory, go with relative " + relative );
File sourceFile = new File(relative);
if ( ! sourceFile.exists() ) {
- throw new HibernateException("Unable to read source directory: " + relative);
+ throw new SearchException("Unable to read source directory: " + relative);
}
//else keep source as it
}
@@ -66,12 +66,16 @@
public static File determineIndexDir(String directoryProviderName, Properties properties) {
String indexBase = properties.getProperty( "indexBase", "." );
File indexDir = new File( indexBase );
- if ( !( indexDir.exists() && indexDir.isDirectory() ) ) {
- //TODO create the directory?
- throw new HibernateException( MessageFormat.format( "Index directory does not exists: {0}", indexBase ) );
+ if ( ! indexDir.exists() ) {
+ //if the base directory does not exists, create it
+ //we do not fear concurrent creation since mkdir does not raise exceptions
+ indexDir.mkdir();
}
+ else if ( ! indexDir.isDirectory() ) {
+ throw new SearchException( MessageFormat.format( "Index directory is not a directory: {0}", indexBase ) );
+ }
if ( !indexDir.canWrite() ) {
- throw new HibernateException( "Cannot write into index directory: " + indexBase );
+ throw new SearchException( "Cannot write into index directory: " + indexBase );
}
indexDir = new File( indexDir, directoryProviderName );
More information about the hibernate-commits
mailing list