otis 2003/01/13 19:41:05 Modified: . CHANGES.txt src/java/org/apache/lucene/store RAMDirectory.java Log: Added convenience RAMDirectory constructors taking File and String arguments, for easy FSDirectory to RAMDirectory conversion. Revision Changes Path 1.40 +7 -3 jakarta-lucene/CHANGES.txt Index: CHANGES.txt =================================================================== RCS file: /home/cvs/jakarta-lucene/CHANGES.txt,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- CHANGES.txt 13 Jan 2003 23:50:33 -0000 1.39 +++ CHANGES.txt 14 Jan 2003 03:41:05 -0000 1.40 @@ -95,13 +95,14 @@ 18. Added a public, extensible scoring API. For details, see the javadoc for org.apache.lucene.search.Similarity. - + 19. Fixed return of Hits.id() from float to int. (Terry Steichen via Peter). 20. Added getFieldNames() to IndexReader and Segment(s)Reader classes. (Peter Mularien via otis) 21. Added getFields(String) and getValues(String) methods. + Contributed by Rasik Pandey on 2002-10-09 (Rasik Pandey via otis) 22. Revised internal search APIs. Changes include: @@ -142,9 +143,12 @@ Caution: These are extensive changes and they have not yet been tested extensively. Bug reports are appreciated. + (cutting) + + 23. Added convenience RAMDirectory constructors taking File and String + arguments, for easy FSDirectory to RAMDirectory conversion. - Contributed by Rasik Pandey on 2002-10-09 1.2 RC6 1. Changed QueryParser.jj to have "?" be a special character which 1.7 +28 -5 jakarta-lucene/src/java/org/apache/lucene/store/RAMDirectory.java Index: RAMDirectory.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/store/RAMDirectory.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- RAMDirectory.java 7 Nov 2002 05:55:40 -0000 1.6 +++ RAMDirectory.java 14 Jan 2003 03:41:05 -0000 1.7 @@ -55,6 +55,7 @@ */ import java.io.IOException; +import java.io.File; import java.util.Vector; import java.util.Hashtable; import java.util.Enumeration; @@ -63,7 +64,11 @@ import org.apache.lucene.store.InputStream; import org.apache.lucene.store.OutputStream; -/** A memory-resident {@link Directory} implementation. */ +/** + * A memory-resident {@link Directory} implementation. + * + * @version $Id$ + */ public final class RAMDirectory extends Directory { Hashtable files = new Hashtable(); @@ -78,16 +83,16 @@ * <P> * This should be used only with indices that can fit into memory. * - * @param d a <code>Directory</code> value + * @param dir a <code>Directory</code> value * @exception IOException if an error occurs */ - public RAMDirectory(Directory d) throws IOException { - final String[] ar = d.list(); + public RAMDirectory(Directory dir) throws IOException { + final String[] ar = dir.list(); for (int i = 0; i < ar.length; i++) { // make place on ram disk OutputStream os = createFile(ar[i]); // read current file - InputStream is = d.openFile(ar[i]); + InputStream is = dir.openFile(ar[i]); // and copy to ram disk int len = (int) is.length(); byte[] buf = new byte[len]; @@ -97,6 +102,24 @@ is.close(); os.close(); } + } + + /** + * Creates a new <code>RAMDirectory</code> instance from the {@link FSDirectory}. + * + * @param dir a <code>File</code> specifying the index directory + */ + public RAMDirectory(File dir) throws IOException { + this(FSDirectory.getDirectory(dir, false)); + } + + /** + * Creates a new <code>RAMDirectory</code> instance from the {@link FSDirectory}. + * + * @param dir a <code>String</code> specifying the full index directory path + */ + public RAMDirectory(String dir) throws IOException { + this(FSDirectory.getDirectory(dir, false)); } /** Returns an array of strings, one for each file in the directory. */
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>