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