Package org.apache.maven.index.updater
Class DefaultIndexUpdater
- java.lang.Object
-
- org.apache.maven.index.updater.DefaultIndexUpdater
-
- All Implemented Interfaces:
IndexUpdater
@Singleton @Named public class DefaultIndexUpdater extends java.lang.Object implements IndexUpdater
A default index updater implementation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DefaultIndexUpdater.FileFetcher
Filesystem-based ResourceFetcher implementationprivate class
DefaultIndexUpdater.IndexAdaptor
private class
DefaultIndexUpdater.LocalCacheIndexAdaptor
(package private) static class
DefaultIndexUpdater.LocalIndexCacheFetcher
private class
DefaultIndexUpdater.LuceneIndexAdaptor
-
Field Summary
Fields Modifier and Type Field Description private IncrementalHandler
incrementalHandler
private org.slf4j.Logger
logger
private java.util.List<IndexUpdateSideEffect>
sideEffects
-
Constructor Summary
Constructors Constructor Description DefaultIndexUpdater(IncrementalHandler incrementalHandler, java.util.List<IndexUpdateSideEffect> sideEffects)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
Field Detail
-
logger
private final org.slf4j.Logger logger
-
incrementalHandler
private final IncrementalHandler incrementalHandler
-
sideEffects
private final java.util.List<IndexUpdateSideEffect> sideEffects
-
-
Constructor Detail
-
DefaultIndexUpdater
@Inject public DefaultIndexUpdater(IncrementalHandler incrementalHandler, java.util.List<IndexUpdateSideEffect> sideEffects)
-
-
Method Detail
-
getLogger
protected org.slf4j.Logger getLogger()
-
fetchAndUpdateIndex
public IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest) throws java.io.IOException
- Specified by:
fetchAndUpdateIndex
in interfaceIndexUpdater
- Returns:
- IndexUpdateResult
- Throws:
java.io.IOException
-
loadIndexDirectory
private java.util.Date loadIndexDirectory(IndexUpdateRequest updateRequest, ResourceFetcher fetcher, boolean merge, java.lang.String remoteIndexFile) throws java.io.IOException
- Throws:
java.io.IOException
-
filterDirectory
private static void filterDirectory(org.apache.lucene.store.Directory directory, DocumentFilter filter) throws java.io.IOException
- Throws:
java.io.IOException
-
loadIndexProperties
private java.util.Properties loadIndexProperties(java.io.File indexDirectoryFile, java.lang.String remoteIndexPropertiesName)
-
storeIndexProperties
private void storeIndexProperties(java.io.File dir, java.lang.String indexPropertiesName, java.util.Properties properties) throws java.io.IOException
- Throws:
java.io.IOException
-
downloadIndexProperties
private java.util.Properties downloadIndexProperties(ResourceFetcher fetcher) throws java.io.IOException
- Throws:
java.io.IOException
-
getTimestamp
public java.util.Date getTimestamp(java.util.Properties properties, java.lang.String key)
-
unpackIndexData
public static IndexDataReader.IndexDataReadResult unpackIndexData(java.io.InputStream is, org.apache.lucene.store.Directory d, IndexingContext context) throws java.io.IOException
Unpack index data using specified Lucene Index writer- Parameters:
is
- an input stream to unpack index data fromw
- a writer to save index dataics
- a collection of index creators for updating unpacked documents.- Throws:
java.io.IOException
-
fetchAndUpdateIndex
private IndexUpdateResult fetchAndUpdateIndex(IndexUpdateRequest updateRequest, ResourceFetcher source, DefaultIndexUpdater.IndexAdaptor target) throws java.io.IOException
- Throws:
java.io.IOException
-
cleanCacheDirectory
protected void cleanCacheDirectory(java.io.File dir) throws java.io.IOException
Cleans specified cache directory. If present, Locker.LOCK_FILE will not be deleted.- Throws:
java.io.IOException
-
-