You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by mi...@apache.org on 2003/11/26 01:31:12 UTC

cvs commit: cocoon-lenya/src/java/org/apache/lenya/lucene/index AbstractIndexer.java ConfigurableIndexer.java IndexIterator.java

michi       2003/11/25 16:31:12

  Modified:    src/java/org/apache/lenya/lucene/index AbstractIndexer.java
                        ConfigurableIndexer.java IndexIterator.java
  Log:
  extensions are now configurable
  
  Revision  Changes    Path
  1.9       +13 -9     cocoon-lenya/src/java/org/apache/lenya/lucene/index/AbstractIndexer.java
  
  Index: AbstractIndexer.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/lucene/index/AbstractIndexer.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractIndexer.java	13 Nov 2003 22:55:17 -0000	1.8
  +++ AbstractIndexer.java	26 Nov 2003 00:31:12 -0000	1.9
  @@ -83,6 +83,8 @@
   public abstract class AbstractIndexer implements Indexer {
       private CommandLineLogger logger = new CommandLineLogger(getClass());
       private DocumentCreator documentCreator;
  +    private Element indexer;
  +    private String configFileName;
   
       /** Creates a new instance of AbstractIndexer */
       public AbstractIndexer() {
  @@ -104,6 +106,8 @@
        */
       public void configure(Element indexer, String configFileName) throws Exception {
           documentCreator = createDocumentCreator(indexer, configFileName);
  +        this.indexer = indexer;
  +        this.configFileName = configFileName;
       }
   
       /**
  @@ -153,7 +157,7 @@
               IndexWriter writer = new IndexWriter(index, new StandardAnalyzer(), create);
               writer.maxFieldLength = 1000000;
   
  -            IndexInformation info = new IndexInformation(index, dumpDirectory, getFilter(), create);
  +            IndexInformation info = new IndexInformation(index, dumpDirectory, getFilter(indexer, configFileName), create);
   
               IndexHandler handler;
   
  @@ -163,7 +167,7 @@
                   handler = new UpdateIndexHandler(dumpDirectory, info, writer);
               }
   
  -            IndexIterator iterator = new IndexIterator(index, getFilter());
  +            IndexIterator iterator = new IndexIterator(index, getFilter(indexer, configFileName));
               iterator.addHandler(handler);
               iterator.iterate(dumpDirectory);
   
  @@ -181,16 +185,16 @@
           throws Exception {
           getLogger().debug("Deleting stale documents");
   
  -        IndexIterator iterator = new IndexIterator(index, getFilter());
  +        IndexIterator iterator = new IndexIterator(index, getFilter(indexer, configFileName));
           iterator.addHandler(new DeleteHandler());
           iterator.iterate(dumpDirectory);
           getLogger().debug("Deleting stale documents finished");
       }
   
       /**
  -     * Returns the filter used to receive the indexable files.
  +     * Returns the filter used to receive the indexable files. Might be overwritten by inherited class.
        */
  -    public FileFilter getFilter() {
  +    public FileFilter getFilter(Element indexer, String configFileName) {
           String[] indexableExtensions = { "html", "htm", "txt" };
           return new AbstractIndexer.DefaultIndexFilter(indexableExtensions);
       }
  
  
  
  1.11      +42 -19    cocoon-lenya/src/java/org/apache/lenya/lucene/index/ConfigurableIndexer.java
  
  Index: ConfigurableIndexer.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/lucene/index/ConfigurableIndexer.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ConfigurableIndexer.java	14 Nov 2003 00:01:22 -0000	1.10
  +++ ConfigurableIndexer.java	26 Nov 2003 00:31:12 -0000	1.11
  @@ -129,29 +129,52 @@
       /**
        * Returns the filter used to receive the indexable files.
        */
  -    public FileFilter getFilter() {
  -        String[] indexableExtensions = { "xml" };
  +    public FileFilter getFilter(Element indexer, String configFileName) {
  +        String[] indexableExtensions = new String[1];
  +	indexableExtensions[0] = getExtensions(indexer);
  +        //String[] indexableExtensions = { "xml" };
           return new AbstractIndexer.DefaultIndexFilter(indexableExtensions);
       }
   
       /**
        *
        */
  -   private String getLuceneDocConfigFileName(Element indexer) {
  -       String luceneDocConfigFileName = null;
  +    private String getLuceneDocConfigFileName(Element indexer) {
  +        String luceneDocConfigFileName = null;
   
  -       org.w3c.dom.NodeList nl = indexer.getChildNodes();
  -       for (int i = 0; i < nl.getLength(); i++) {
  -           org.w3c.dom.Node node = nl.item(i);
  -           if (node.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE && node.getNodeName().equals("configuration")) {
  -               log.debug(".getLuceneDocConfigFileName(): Node configuration exists!");
  -               luceneDocConfigFileName = ((Element)node).getAttribute("src");
  -           }
  -       }
  -       if (luceneDocConfigFileName == null) {
  -           log.error(".getLuceneDocConfigFileName(): ERROR: Lucene Document Configuration is not specified (indexer/configuration/@src)");
  -       }
  -       log.debug(".getLuceneDocConfigFileName(): Lucene Document Configuration: " + luceneDocConfigFileName);
  -       return luceneDocConfigFileName;
  -   }
  +        org.w3c.dom.NodeList nl = indexer.getChildNodes();
  +        for (int i = 0; i < nl.getLength(); i++) {
  +            org.w3c.dom.Node node = nl.item(i);
  +            if (node.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE && node.getNodeName().equals("configuration")) {
  +                log.debug(".getLuceneDocConfigFileName(): Node configuration exists!");
  +                luceneDocConfigFileName = ((Element)node).getAttribute("src");
  +            }
  +        }
  +        if (luceneDocConfigFileName == null) {
  +            log.error(".getLuceneDocConfigFileName(): ERROR: Lucene Document Configuration is not specified (indexer/configuration/@src)");
  +        }
  +        log.debug(".getLuceneDocConfigFileName(): Lucene Document Configuration: " + luceneDocConfigFileName);
  +        return luceneDocConfigFileName;
  +    }
  +
  +    /**
  +     *
  +     */
  +    private String getExtensions(Element indexer) {
  +        String extensions = null;
  +
  +        org.w3c.dom.NodeList nl = indexer.getChildNodes();
  +        for (int i = 0; i < nl.getLength(); i++) {
  +            org.w3c.dom.Node node = nl.item(i);
  +            if (node.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE && node.getNodeName().equals("extensions")) {
  +                log.debug("Node extensions exists!");
  +                extensions = ((Element)node).getAttribute("src");
  +            }
  +        }
  +        if (extensions == null) {
  +            log.error("Extensions have not been specified (indexer/extensions/@src)");
  +        }
  +        log.debug("Extensions: " + extensions);
  +        return extensions;
  +    }
   }
  
  
  
  1.5       +5 -3      cocoon-lenya/src/java/org/apache/lenya/lucene/index/IndexIterator.java
  
  Index: IndexIterator.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/lucene/index/IndexIterator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- IndexIterator.java	23 Jul 2003 13:21:27 -0000	1.4
  +++ IndexIterator.java	26 Nov 2003 00:31:12 -0000	1.5
  @@ -1,5 +1,4 @@
   /*
  -$Id$
   <License>
   
    ============================================================================
  @@ -80,8 +79,8 @@
   
   
   /**
  - *
  - * @author  hrt
  + * @author Andreas Hartmann
  + * @version $Id$
    */
   public class IndexIterator {
       /** Creates a new instance of IndexItertor */
  @@ -104,6 +103,9 @@
   
       private FileFilter filter;
   
  +    /**
  +     * @return FileFilter
  +     */
       protected FileFilter getFilter() {
           return filter;
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org