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