Index: /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/store/FSDirectory.java
===================================================================
--- /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/store/FSDirectory.java (Revision 168213)
+++ /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/store/FSDirectory.java (Arbeitskopie)
@@ -26,6 +26,7 @@
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.util.Constants;
/**
@@ -47,19 +48,11 @@
* @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
*/
public boolean accept(File dir, String name) {
- if (name.endsWith(".cfs")) return true;
- else if (name.endsWith(".fnm")) return true;
- else if (name.endsWith(".fdt")) return true;
- else if (name.endsWith(".fdx")) return true;
- else if (name.endsWith(".frq")) return true;
- else if (name.endsWith(".prx")) return true;
- else if (name.endsWith(".tii")) return true;
- else if (name.endsWith(".tis")) return true;
- else if (name.endsWith(".tvd")) return true;
- else if (name.endsWith(".tvf")) return true;
- else if (name.endsWith(".tvx")) return true;
- else if (name.endsWith(".del")) return true;
- else if (name.equals("deletable")) return true;
+ for (int i = 0; i < IndexReader.FILENAME_EXTENSIONS.length; i++) {
+ if (name.endsWith("."+IndexReader.FILENAME_EXTENSIONS[i]))
+ return true;
+ }
+ if (name.equals("deletable")) return true;
else if (name.equals("segments")) return true;
else if (name.matches(".+\\.f\\d+")) return true;
return false;
Index: /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/SegmentReader.java
===================================================================
--- /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/SegmentReader.java (Revision 165654)
+++ /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/SegmentReader.java (Arbeitskopie)
@@ -247,12 +247,9 @@
Vector files() throws IOException {
Vector files = new Vector(16);
- final String ext[] = new String[]{
- "cfs", "fnm", "fdx", "fdt", "tii", "tis", "frq", "prx", "del",
- "tvx", "tvd", "tvf", "tvp" };
- for (int i = 0; i < ext.length; i++) {
- String name = segment + "." + ext[i];
+ for (int i = 0; i < FILENAME_EXTENSIONS.length; i++) {
+ String name = segment + "." + FILENAME_EXTENSIONS[i];
if (directory().fileExists(name))
files.addElement(name);
}
Index: /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/IndexReader.java
===================================================================
--- /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/IndexReader.java (Revision 165654)
+++ /home/dnaber/workspace/LuceneSVN/src/java/org/apache/lucene/index/IndexReader.java (Arbeitskopie)
@@ -50,6 +50,16 @@
*/
public abstract class IndexReader {
+ /**
+ * This array contains all filename extensions used by Lucene's index files, with
+ * one exception, namely the extension made up from .f + a number.
+ * Also note that two of Lucene's files (deletable and
+ * segments) don't have any filename extension.
+ */
+ public final static String FILENAME_EXTENSIONS[] = new String[] {
+ "cfs", "fnm", "fdx", "fdt", "tii", "tis", "frq", "prx", "del",
+ "tvx", "tvd", "tvf", "tvp" };
+
public static final class FieldOption {
private String option;
private FieldOption() { }