@Component(role=IndexUpdater.class) public class DefaultIndexUpdater extends org.codehaus.plexus.logging.AbstractLogEnabled 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 |
|---|---|
(package private) IncrementalHandler |
incrementalHandler |
private java.util.List<IndexUpdateSideEffect> |
sideEffects |
| Constructor and Description |
|---|
DefaultIndexUpdater() |
DefaultIndexUpdater(IncrementalHandler handler,
java.util.List<IndexUpdateSideEffect> mySideeffects) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
cleanCacheDirectory(java.io.File dir)
Cleans specified cache directory.
|
private static void |
copyUpdatedDocuments(org.apache.lucene.store.Directory sourcedir,
org.apache.lucene.store.Directory targetdir,
IndexingContext context) |
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) |
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) |
private static void |
unpackDirectory(org.apache.lucene.store.Directory directory,
java.io.InputStream is) |
static java.util.Date |
unpackIndexArchive(java.io.InputStream is,
org.apache.lucene.store.Directory directory,
IndexingContext context)
Unpack legacy index archive into a specified Lucene
Directory |
static java.util.Date |
unpackIndexData(java.io.InputStream is,
org.apache.lucene.store.Directory d,
IndexingContext context)
Unpack index data using specified Lucene Index writer
|
@Requirement(role=IncrementalHandler.class) IncrementalHandler incrementalHandler
@Requirement(role=IndexUpdateSideEffect.class) private java.util.List<IndexUpdateSideEffect> sideEffects
public DefaultIndexUpdater(IncrementalHandler handler, java.util.List<IndexUpdateSideEffect> mySideeffects)
public DefaultIndexUpdater()
public IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest) throws java.io.IOException
fetchAndUpdateIndex in interface IndexUpdaterjava.io.IOExceptionprivate java.util.Date loadIndexDirectory(IndexUpdateRequest updateRequest, ResourceFetcher fetcher, boolean merge, java.lang.String remoteIndexFile) throws java.io.IOException
java.io.IOExceptionpublic static java.util.Date unpackIndexArchive(java.io.InputStream is,
org.apache.lucene.store.Directory directory,
IndexingContext context)
throws java.io.IOException
Directoryis - a ZipInputStream with index datadirectory - Lucene Directory to unpack index data toDate of the index update or null if it can't be readjava.io.IOExceptionprivate static void unpackDirectory(org.apache.lucene.store.Directory directory,
java.io.InputStream is)
throws java.io.IOException
java.io.IOExceptionprivate static void copyUpdatedDocuments(org.apache.lucene.store.Directory sourcedir,
org.apache.lucene.store.Directory targetdir,
IndexingContext context)
throws org.apache.lucene.index.CorruptIndexException,
org.apache.lucene.store.LockObtainFailedException,
java.io.IOException
org.apache.lucene.index.CorruptIndexExceptionorg.apache.lucene.store.LockObtainFailedExceptionjava.io.IOExceptionprivate static void filterDirectory(org.apache.lucene.store.Directory directory,
DocumentFilter filter)
throws java.io.IOException
java.io.IOExceptionprivate 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.IOExceptionprivate java.util.Properties downloadIndexProperties(ResourceFetcher fetcher) throws java.io.IOException
java.io.IOExceptionpublic java.util.Date getTimestamp(java.util.Properties properties,
java.lang.String key)
public static java.util.Date 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.IOExceptionprivate IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest, ResourceFetcher source, DefaultIndexUpdater.IndexAdaptor target) throws java.io.IOException
java.io.IOExceptionprotected void cleanCacheDirectory(java.io.File dir)
throws java.io.IOException
java.io.IOException