@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 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
public static java.util.Date unpackIndexArchive(java.io.InputStream is, org.apache.lucene.store.Directory directory, IndexingContext context) throws java.io.IOException
Directory
is
- 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.IOException
private static void unpackDirectory(org.apache.lucene.store.Directory directory, java.io.InputStream is) throws java.io.IOException
java.io.IOException
private 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.CorruptIndexException
org.apache.lucene.store.LockObtainFailedException
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 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.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