@Singleton @Named public class DefaultIndexUpdater extends java.lang.Object implements IndexUpdater
Modifier and Type | Class and Description |
---|---|
static class |
DefaultIndexUpdater.FileFetcher
Filesystem-based ResourceFetcher implementation
|
private class |
DefaultIndexUpdater.IndexAdaptor |
private class |
DefaultIndexUpdater.LocalCacheIndexAdaptor |
(package private) static class |
DefaultIndexUpdater.LocalIndexCacheFetcher |
private class |
DefaultIndexUpdater.LuceneIndexAdaptor |
Modifier and Type | Field and Description |
---|---|
private IncrementalHandler |
incrementalHandler |
private org.slf4j.Logger |
logger |
private java.util.List<IndexUpdateSideEffect> |
sideEffects |
Constructor and Description |
---|
DefaultIndexUpdater(IncrementalHandler incrementalHandler,
java.util.List<IndexUpdateSideEffect> sideEffects) |
Modifier and Type | Method and Description |
---|---|
protected void |
cleanCacheDirectory(java.io.File dir)
Cleans specified cache directory.
|
private java.util.Properties |
downloadIndexProperties(ResourceFetcher fetcher) |
IndexUpdateResult |
fetchAndUpdateIndex(IndexUpdateRequest updateRequest) |
private IndexUpdateResult |
fetchAndUpdateIndex(IndexUpdateRequest updateRequest,
ResourceFetcher source,
DefaultIndexUpdater.IndexAdaptor target) |
private static void |
filterDirectory(org.apache.lucene.store.Directory directory,
DocumentFilter filter) |
protected org.slf4j.Logger |
getLogger() |
java.util.Date |
getTimestamp(java.util.Properties properties,
java.lang.String key) |
private java.util.Date |
loadIndexDirectory(IndexUpdateRequest updateRequest,
ResourceFetcher fetcher,
boolean merge,
java.lang.String remoteIndexFile) |
private java.util.Properties |
loadIndexProperties(java.io.File indexDirectoryFile,
java.lang.String remoteIndexPropertiesName) |
private void |
storeIndexProperties(java.io.File dir,
java.lang.String indexPropertiesName,
java.util.Properties properties) |
static IndexDataReader.IndexDataReadResult |
unpackIndexData(java.io.InputStream is,
org.apache.lucene.store.Directory d,
IndexingContext context)
Unpack index data using specified Lucene Index writer
|
private final org.slf4j.Logger logger
private final IncrementalHandler incrementalHandler
private final java.util.List<IndexUpdateSideEffect> sideEffects
@Inject public DefaultIndexUpdater(IncrementalHandler incrementalHandler, java.util.List<IndexUpdateSideEffect> sideEffects)
protected org.slf4j.Logger getLogger()
public IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest) throws java.io.IOException
fetchAndUpdateIndex
in interface IndexUpdater
java.io.IOException
private java.util.Date loadIndexDirectory(IndexUpdateRequest updateRequest, ResourceFetcher fetcher, boolean merge, java.lang.String remoteIndexFile) throws java.io.IOException
java.io.IOException
private static void filterDirectory(org.apache.lucene.store.Directory directory, DocumentFilter filter) throws java.io.IOException
java.io.IOException
private java.util.Properties loadIndexProperties(java.io.File indexDirectoryFile, java.lang.String remoteIndexPropertiesName)
private void storeIndexProperties(java.io.File dir, java.lang.String indexPropertiesName, java.util.Properties properties) throws java.io.IOException
java.io.IOException
private java.util.Properties downloadIndexProperties(ResourceFetcher fetcher) throws java.io.IOException
java.io.IOException
public java.util.Date getTimestamp(java.util.Properties properties, java.lang.String key)
public static IndexDataReader.IndexDataReadResult unpackIndexData(java.io.InputStream is, org.apache.lucene.store.Directory d, IndexingContext context) throws java.io.IOException
is
- an input stream to unpack index data fromw
- a writer to save index dataics
- a collection of index creators for updating unpacked documents.java.io.IOException
private IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest, ResourceFetcher source, DefaultIndexUpdater.IndexAdaptor target) throws java.io.IOException
java.io.IOException
protected void cleanCacheDirectory(java.io.File dir) throws java.io.IOException
java.io.IOException