|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.lucene.store.Directory
org.apache.lucene.store.MockDirectoryWrapper
public class MockDirectoryWrapper
This is a Directory Wrapper that adds methods intended to be used only by unit tests. It also adds a number of features useful for testing:
LuceneTestCase.newDirectory() are tracked
to ensure they are closed by the test.
| Nested Class Summary | |
|---|---|
static class |
MockDirectoryWrapper.Failure
Objects that represent fail-able conditions. |
static class |
MockDirectoryWrapper.Throttling
|
| Field Summary |
|---|
| Fields inherited from class org.apache.lucene.store.Directory |
|---|
isOpen, lockFactory |
| Constructor Summary | |
|---|---|
MockDirectoryWrapper(Random random,
Directory delegate)
|
|
| Method Summary | |
|---|---|
void |
clearCrash()
|
void |
clearLock(String name)
Attempt to clear (forcefully unlock and remove) the specified lock. |
void |
close()
Closes the store. |
void |
copy(Directory to,
String src,
String dest)
Copies the file src to Directory to under the new
file name dest. |
void |
crash()
Simulates a crash of OS or machine by overwriting unsynced files. |
IndexOutput |
createOutput(String name)
Creates a new, empty file in the directory with the given name. |
void |
deleteFile(String name)
Removes an existing file in the directory. |
void |
failOn(MockDirectoryWrapper.Failure fail)
add a Failure object to the list of objects to be evaluated at every potential failure point |
boolean |
fileExists(String name)
Returns true iff a file with the given name exists. |
long |
fileLength(String name)
Returns the length of a file in the directory. |
long |
fileModified(String name)
Returns the time the named file was last modified. |
boolean |
getCheckIndexOnClose()
|
int |
getInputCloneCount()
|
LockFactory |
getLockFactory()
Get the LockFactory that this Directory instance is using for its locking implementation. |
String |
getLockID()
Return a string identifier that uniquely differentiates this Directory instance from other Directory instances. |
long |
getMaxSizeInBytes()
|
long |
getMaxUsedSizeInBytes()
Returns the peek actual storage used (bytes) in this directory. |
boolean |
getNoDeleteOpenFile()
|
Set<String> |
getOpenDeletedFiles()
|
double |
getRandomIOExceptionRate()
|
long |
getRecomputedActualSizeInBytes()
Like getRecomputedSizeInBytes(), but, uses actual file lengths rather than buffer allocations (which are quantized up to nearest RAMOutputStream.BUFFER_SIZE (now 1024) bytes. |
long |
getRecomputedSizeInBytes()
Provided for testing purposes. |
boolean |
isOpen()
|
String[] |
listAll()
Returns an array of strings, one for each file in the directory. |
Lock |
makeLock(String name)
Construct a Lock. |
IndexInput |
openInput(String name)
Returns a stream reading an existing file. |
void |
removeIndexInput(IndexInput in,
String name)
|
void |
removeIndexOutput(IndexOutput out,
String name)
|
void |
resetMaxUsedSizeInBytes()
|
void |
setAssertNoUnrefencedFilesOnClose(boolean v)
|
void |
setCheckIndexOnClose(boolean value)
Set whether or not checkindex should be run on close |
void |
setFailOnCreateOutput(boolean v)
|
void |
setFailOnOpenInput(boolean v)
|
void |
setLockFactory(LockFactory lockFactory)
Set the LockFactory that this Directory instance should use for its locking implementation. |
void |
setMaxSizeInBytes(long maxSize)
|
void |
setNoDeleteOpenFile(boolean value)
Emulate windows whereby deleting an open file is not allowed (raise IOException). |
void |
setPreventDoubleWrite(boolean value)
If set to true, we throw an IOException if the same file is opened by createOutput, ever. |
void |
setRandomIOExceptionRate(double rate)
If 0.0, no exceptions will be thrown. |
void |
setThrottling(MockDirectoryWrapper.Throttling throttling)
|
void |
setTrackDiskUsage(boolean v)
|
long |
sizeInBytes()
|
void |
sync(Collection<String> names)
Ensure that any writes to these files are moved to stable storage. |
void |
sync(String name)
Deprecated. |
String |
toString()
|
void |
touchFile(String name)
Deprecated. |
| Methods inherited from class org.apache.lucene.store.Directory |
|---|
copy, ensureOpen, openInput |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public MockDirectoryWrapper(Random random,
Directory delegate)
| Method Detail |
|---|
public int getInputCloneCount()
public void setTrackDiskUsage(boolean v)
public void setPreventDoubleWrite(boolean value)
@Deprecated
public void sync(String name)
throws IOException
Directory
sync in class DirectoryIOExceptionpublic void setThrottling(MockDirectoryWrapper.Throttling throttling)
public void sync(Collection<String> names)
throws IOException
Directory
sync in class DirectoryIOExceptionpublic String toString()
toString in class Directory
public final long sizeInBytes()
throws IOException
IOException
public void crash()
throws IOException
IOException
public void clearCrash()
throws IOException
IOExceptionpublic void setMaxSizeInBytes(long maxSize)
public long getMaxSizeInBytes()
public long getMaxUsedSizeInBytes()
public void resetMaxUsedSizeInBytes()
throws IOException
IOExceptionpublic void setNoDeleteOpenFile(boolean value)
public boolean getNoDeleteOpenFile()
public void setCheckIndexOnClose(boolean value)
public boolean getCheckIndexOnClose()
public void setRandomIOExceptionRate(double rate)
public double getRandomIOExceptionRate()
public void deleteFile(String name)
throws IOException
Directory
deleteFile in class DirectoryIOExceptionpublic Set<String> getOpenDeletedFiles()
public void setFailOnCreateOutput(boolean v)
public IndexOutput createOutput(String name)
throws IOException
Directory
createOutput in class DirectoryIOExceptionpublic void setFailOnOpenInput(boolean v)
public IndexInput openInput(String name)
throws IOException
Directory
openInput in class DirectoryIOException
public final long getRecomputedSizeInBytes()
throws IOException
IOException
public final long getRecomputedActualSizeInBytes()
throws IOException
IOExceptionpublic void setAssertNoUnrefencedFilesOnClose(boolean v)
public void close()
throws IOException
Directory
close in interface Closeableclose in class DirectoryIOException
public void removeIndexOutput(IndexOutput out,
String name)
public void removeIndexInput(IndexInput in,
String name)
public boolean isOpen()
public void failOn(MockDirectoryWrapper.Failure fail)
public String[] listAll()
throws IOException
Directory
listAll in class DirectoryNoSuchDirectoryException - if the directory is not prepared for any
write operations (such as Directory.createOutput(String)).
IOException - in case of other IO errors
public boolean fileExists(String name)
throws IOException
Directory
fileExists in class DirectoryIOException
public long fileModified(String name)
throws IOException
Directory
fileModified in class DirectoryIOException
@Deprecated
public void touchFile(String name)
throws IOException
Directory
touchFile in class DirectoryIOException
public long fileLength(String name)
throws IOException
DirectoryFileNotFoundException if the file does not exist
fileLength in class Directoryname - the name of the file for which to return the length.
FileNotFoundException - if the file does not exist.
IOException - if there was an IO error while retrieving the file's
length.public Lock makeLock(String name)
DirectoryLock.
makeLock in class Directoryname - the name of the lock file
public void clearLock(String name)
throws IOException
Directory
clearLock in class Directoryname - name of the lock to be cleared.
IOException
public void setLockFactory(LockFactory lockFactory)
throws IOException
Directory
setLockFactory in class DirectorylockFactory - instance of LockFactory.
IOExceptionpublic LockFactory getLockFactory()
Directory
getLockFactory in class Directorypublic String getLockID()
Directory
getLockID in class Directory
public void copy(Directory to,
String src,
String dest)
throws IOException
DirectoryDirectory to under the new
file name dest.
If you want to copy the entire source directory to the destination one, you can do so like this:
Directory to; // the directory to copy to
for (String file : dir.listAll()) {
dir.copy(to, file, newFile); // newFile can be either file, or a new name
}
NOTE: this method does not check whether dest exist and will overwrite it if it does.
copy in class DirectoryIOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||