jeremy      2004/02/21 04:25:44

  Modified:    src/blocks/lucene/java/org/apache/cocoon/transformation
                        LuceneIndexTransformer.java
  Log:
  added the ability to configure the transformer with an absolute filepath in 
the 'directory' parameter, to facilitate keeping indexes in locations other 
than the Servlet Temp folder, which is problematic in Jetty (as Jetty deletes 
this on restart)
  
  Revision  Changes    Path
  1.11      +14 -8     
cocoon-2.1/src/blocks/lucene/java/org/apache/cocoon/transformation/LuceneIndexTransformer.java
  
  Index: LuceneIndexTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/lucene/java/org/apache/cocoon/transformation/LuceneIndexTransformer.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LuceneIndexTransformer.java       6 Feb 2004 22:45:58 -0000       1.10
  +++ LuceneIndexTransformer.java       21 Feb 2004 12:25:44 -0000      1.11
  @@ -425,8 +425,12 @@
           }
       }
   
  -    private void openWriter() throws IOException {
  -        File indexDirectory = new File(workDir, 
queryConfiguration.indexDirectory);
  +    private void openWriter() throws IOException {           
  +             File indexDirectory = new 
File(queryConfiguration.indexDirectory);
  +        if (!indexDirectory.isAbsolute()) {
  +            indexDirectory = new File(workDir, 
queryConfiguration.indexDirectory);
  +        }
  +
           // If the index directory doesn't exist, then always create it.
           boolean indexExists = IndexReader.indexExists(indexDirectory);
           if (!indexExists) {
  @@ -434,17 +438,19 @@
           }
           
           // Get the index directory, creating it if necessary
  -        Directory directory = LuceneCocoonHelper.getDirectory(indexDirectory,
  -                                                              createIndex);
  +        Directory directory = 
LuceneCocoonHelper.getDirectory(indexDirectory, createIndex);
           Analyzer analyzer = 
LuceneCocoonHelper.getAnalyzer(queryConfiguration.analyzerClassname);
           this.writer = new IndexWriter(directory, analyzer, createIndex);
           this.writer.mergeFactor = queryConfiguration.mergeFactor; 
       }    
       
       private IndexReader openReader() throws IOException {
  -        Directory directory = LuceneCocoonHelper.getDirectory(
  -                                            new File(workDir, 
queryConfiguration.indexDirectory),
  -                                            createIndex);
  +             File indexDirectory = new 
File(queryConfiguration.indexDirectory);
  +        if (!indexDirectory.isAbsolute()) {
  +            indexDirectory = new File(workDir, 
queryConfiguration.indexDirectory);
  +        }
  +    
  +        Directory directory = 
LuceneCocoonHelper.getDirectory(indexDirectory, createIndex);
           IndexReader reader = IndexReader.open(directory);
           return reader;
       }    
  
  
  

Reply via email to