mirror of https://github.com/apache/lucene.git
Implement names for "segments" and "deletable" files in Constants. This removes "hardcoded" filenames and makes code cleaner and easier to maintain.
git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@180349 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3f2a20e6f7
commit
0532c41143
|
@ -23,6 +23,7 @@ import org.apache.lucene.store.Directory;
|
||||||
import org.apache.lucene.store.FSDirectory;
|
import org.apache.lucene.store.FSDirectory;
|
||||||
import org.apache.lucene.store.IndexInput;
|
import org.apache.lucene.store.IndexInput;
|
||||||
import org.apache.lucene.store.Lock;
|
import org.apache.lucene.store.Lock;
|
||||||
|
import org.apache.lucene.util.Constants;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
@ -199,7 +200,7 @@ public abstract class IndexReader {
|
||||||
* @deprecated Replaced by {@link #getCurrentVersion(File)}
|
* @deprecated Replaced by {@link #getCurrentVersion(File)}
|
||||||
* */
|
* */
|
||||||
public static long lastModified(File directory) throws IOException {
|
public static long lastModified(File directory) throws IOException {
|
||||||
return FSDirectory.fileModified(directory, "segments");
|
return FSDirectory.fileModified(directory, Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -214,7 +215,7 @@ public abstract class IndexReader {
|
||||||
* @deprecated Replaced by {@link #getCurrentVersion(Directory)}
|
* @deprecated Replaced by {@link #getCurrentVersion(Directory)}
|
||||||
* */
|
* */
|
||||||
public static long lastModified(Directory directory) throws IOException {
|
public static long lastModified(Directory directory) throws IOException {
|
||||||
return directory.fileModified("segments");
|
return directory.fileModified(Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -316,7 +317,7 @@ public abstract class IndexReader {
|
||||||
* @return <code>true</code> if an index exists; <code>false</code> otherwise
|
* @return <code>true</code> if an index exists; <code>false</code> otherwise
|
||||||
*/
|
*/
|
||||||
public static boolean indexExists(String directory) {
|
public static boolean indexExists(String directory) {
|
||||||
return (new File(directory, "segments")).exists();
|
return (new File(directory, Constants.INDEX_SEGMENTS_FILENAME)).exists();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -326,7 +327,7 @@ public abstract class IndexReader {
|
||||||
* @return <code>true</code> if an index exists; <code>false</code> otherwise
|
* @return <code>true</code> if an index exists; <code>false</code> otherwise
|
||||||
*/
|
*/
|
||||||
public static boolean indexExists(File directory) {
|
public static boolean indexExists(File directory) {
|
||||||
return (new File(directory, "segments")).exists();
|
return (new File(directory, Constants.INDEX_SEGMENTS_FILENAME)).exists();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -337,7 +338,7 @@ public abstract class IndexReader {
|
||||||
* @throws IOException if there is a problem with accessing the index
|
* @throws IOException if there is a problem with accessing the index
|
||||||
*/
|
*/
|
||||||
public static boolean indexExists(Directory directory) throws IOException {
|
public static boolean indexExists(Directory directory) throws IOException {
|
||||||
return directory.fileExists("segments");
|
return directory.fileExists(Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the number of documents in this index. */
|
/** Returns the number of documents in this index. */
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.apache.lucene.store.Lock;
|
||||||
import org.apache.lucene.store.IndexInput;
|
import org.apache.lucene.store.IndexInput;
|
||||||
import org.apache.lucene.store.IndexOutput;
|
import org.apache.lucene.store.IndexOutput;
|
||||||
import org.apache.lucene.search.Similarity;
|
import org.apache.lucene.search.Similarity;
|
||||||
|
import org.apache.lucene.util.Constants;
|
||||||
import org.apache.lucene.document.Document;
|
import org.apache.lucene.document.Document;
|
||||||
import org.apache.lucene.analysis.Analyzer;
|
import org.apache.lucene.analysis.Analyzer;
|
||||||
|
|
||||||
|
@ -789,10 +790,10 @@ public class IndexWriter {
|
||||||
|
|
||||||
private final Vector readDeleteableFiles() throws IOException {
|
private final Vector readDeleteableFiles() throws IOException {
|
||||||
Vector result = new Vector();
|
Vector result = new Vector();
|
||||||
if (!directory.fileExists("deletable"))
|
if (!directory.fileExists(Constants.INDEX_DELETABLE_FILENAME))
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
IndexInput input = directory.openInput("deletable");
|
IndexInput input = directory.openInput(Constants.INDEX_DELETABLE_FILENAME);
|
||||||
try {
|
try {
|
||||||
for (int i = input.readInt(); i > 0; i--) // read file names
|
for (int i = input.readInt(); i > 0; i--) // read file names
|
||||||
result.addElement(input.readString());
|
result.addElement(input.readString());
|
||||||
|
@ -811,6 +812,6 @@ public class IndexWriter {
|
||||||
} finally {
|
} finally {
|
||||||
output.close();
|
output.close();
|
||||||
}
|
}
|
||||||
directory.renameFile("deleteable.new", "deletable");
|
directory.renameFile("deleteable.new", Constants.INDEX_DELETABLE_FILENAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import java.io.IOException;
|
||||||
import org.apache.lucene.store.Directory;
|
import org.apache.lucene.store.Directory;
|
||||||
import org.apache.lucene.store.IndexInput;
|
import org.apache.lucene.store.IndexInput;
|
||||||
import org.apache.lucene.store.IndexOutput;
|
import org.apache.lucene.store.IndexOutput;
|
||||||
|
import org.apache.lucene.util.Constants;
|
||||||
|
|
||||||
final class SegmentInfos extends Vector {
|
final class SegmentInfos extends Vector {
|
||||||
|
|
||||||
|
@ -41,7 +42,7 @@ final class SegmentInfos extends Vector {
|
||||||
|
|
||||||
public final void read(Directory directory) throws IOException {
|
public final void read(Directory directory) throws IOException {
|
||||||
|
|
||||||
IndexInput input = directory.openInput("segments");
|
IndexInput input = directory.openInput(Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
try {
|
try {
|
||||||
int format = input.readInt();
|
int format = input.readInt();
|
||||||
if(format < 0){ // file contains explicit format info
|
if(format < 0){ // file contains explicit format info
|
||||||
|
@ -91,7 +92,7 @@ final class SegmentInfos extends Vector {
|
||||||
}
|
}
|
||||||
|
|
||||||
// install new segment info
|
// install new segment info
|
||||||
directory.renameFile("segments.new", "segments");
|
directory.renameFile("segments.new", Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -107,7 +108,7 @@ final class SegmentInfos extends Vector {
|
||||||
public static long readCurrentVersion(Directory directory)
|
public static long readCurrentVersion(Directory directory)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
|
|
||||||
IndexInput input = directory.openInput("segments");
|
IndexInput input = directory.openInput(Constants.INDEX_SEGMENTS_FILENAME);
|
||||||
int format = 0;
|
int format = 0;
|
||||||
long version = 0;
|
long version = 0;
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -52,8 +52,8 @@ public class FSDirectory extends Directory {
|
||||||
if (name.endsWith("."+IndexReader.FILENAME_EXTENSIONS[i]))
|
if (name.endsWith("."+IndexReader.FILENAME_EXTENSIONS[i]))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (name.equals("deletable")) return true;
|
if (name.equals(Constants.INDEX_DELETABLE_FILENAME)) return true;
|
||||||
else if (name.equals("segments")) return true;
|
else if (name.equals(Constants.INDEX_SEGMENTS_FILENAME)) return true;
|
||||||
else if (name.matches(".+\\.f\\d+")) return true;
|
else if (name.matches(".+\\.f\\d+")) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,11 @@ package org.apache.lucene.util;
|
||||||
public final class Constants {
|
public final class Constants {
|
||||||
private Constants() {} // can't construct
|
private Constants() {} // can't construct
|
||||||
|
|
||||||
|
/** Name of the index segment file */
|
||||||
|
public static final String INDEX_SEGMENTS_FILENAME = "segments";
|
||||||
|
/** Name of the index deletable file */
|
||||||
|
public static final String INDEX_DELETABLE_FILENAME = "deletable";
|
||||||
|
|
||||||
/** The value of <tt>System.getProperty("java.version")<tt>. **/
|
/** The value of <tt>System.getProperty("java.version")<tt>. **/
|
||||||
public static final String JAVA_VERSION = System.getProperty("java.version");
|
public static final String JAVA_VERSION = System.getProperty("java.version");
|
||||||
/** True iff this is Java version 1.1. */
|
/** True iff this is Java version 1.1. */
|
||||||
|
|
Loading…
Reference in New Issue