You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2014/05/15 13:11:08 UTC
svn commit: r1594863 -
/stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java
Author: rwesten
Date: Thu May 15 11:11:08 2014
New Revision: 1594863
URL: http://svn.apache.org/r1594863
Log:
fix for STANBOL-1341
Modified:
stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java
Modified: stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java?rev=1594863&r1=1594862&r2=1594863&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java (original)
+++ stanbol/trunk/entityhub/indexing/destination/solryard/src/main/java/org/apache/stanbol/entityhub/indexing/destination/solryard/SolrYardIndexingDestination.java Thu May 15 11:11:08 2014
@@ -293,10 +293,9 @@ public class SolrYardIndexingDestination
this.solrYardConfig = createSolrYardConfig(yardName, parsedSolrLocation);
//init the manages solr directory relative to the working directory
File managedDirectory = new File(System.getProperty("user.dir"), DEFAULT_SOLR_INDEX_DIRECTORY);
- File distDirectory = new File(System.getProperty("user.dir"),"dist");
//init the solr directory and validate the parsed values
File[] solrDirectories = initSolrDirectories(parsedSolrLocation, solrConfig,
- managedDirectory,distDirectory);
+ managedDirectory);
this.solrIndexLocation = solrDirectories[0];
this.solrIndexConfig = solrDirectories[1];
this.solrArchive = solrDirectories[2];
@@ -335,8 +334,7 @@ public class SolrYardIndexingDestination
*/
private File[] initSolrDirectories(final String parsedSolrLocation,
final String solrConfig,
- File managedDirectory,
- File distDirectory) {
+ File managedDirectory) {
File solrIndexLocation;
File solrConfigLocation;
File solrIndexArchive;
@@ -361,11 +359,6 @@ public class SolrYardIndexingDestination
File parsedSolrLocationFile = new File(parsedSolrLocation);
if(parsedSolrLocationFile.isAbsolute()){ //if absolute
//-> assume an already configured Solr index
- if(distDirectory == null){ //check that a dist dir is configured
- throw new IllegalStateException("In case the Solr index location"+
- "points to a local directory the Distribution Directory" +
- "MUST NOT BE NULL!");
- }
solrIndexLocation = parsedSolrLocationFile;
if(solrConfig != null){
throw new IllegalArgumentException(String.format(
@@ -399,13 +392,6 @@ public class SolrYardIndexingDestination
solrConfigLocation = null; //no configuration parsed
}
}
- //for all local indexes configure the distribution file names
- if(distDirectory != null && !distDirectory.isDirectory()){
- if(!distDirectory.mkdirs()){
- throw new IllegalStateException("Unable to create distribution "+
- "Directory"+distDirectory.getAbsolutePath());
- }
- }
solrIndexArchive = new File(solrIndexLocation.getName()+SOLR_INDEX_ARCHIVE_EXTENSION);
solrIndexArchiveRef = new File(solrIndexLocation.getName()+SOLR_INDEX_ARCHIVE_REF_EXTENSION);
}
@@ -480,7 +466,7 @@ public class SolrYardIndexingDestination
}
File managedDirectory = new File(indexingConfig.getDestinationFolder(),solrDir);
File[] solrDirectories = initSolrDirectories(indexName, solrConfig,
- managedDirectory,indexingConfig.getDistributionFolder());
+ managedDirectory);
this.solrIndexLocation = solrDirectories[0];
this.solrIndexConfig = solrDirectories[1];
this.solrArchive = solrDirectories[2];
@@ -773,6 +759,17 @@ public class SolrYardIndexingDestination
//if a indexing config is present we need to create the distribution files
if(indexingConfig != null){
+ //first check if the distribution folder needs to be created and is valid
+ File distFolder = indexingConfig.getDistributionFolder();
+ if(!distFolder.exists()){
+ if(!distFolder.mkdirs()){
+ throw new IllegalStateException("Unable to create distribution folder " +
+ distFolder.getAbsolutePath());
+ }
+ } else if(!distFolder.isDirectory()){
+ throw new IllegalStateException("Distribution folder" + distFolder.getAbsolutePath()
+ + "is not a Directory!");
+ }
//zip the index and copy it over to distribution
log.info(" ... build Solr index archive");
if(solrArchive != null){