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 classDefaultIndexUpdater.FileFetcherFilesystem-based ResourceFetcher implementationprivate classDefaultIndexUpdater.IndexAdaptorprivate classDefaultIndexUpdater.LocalCacheIndexAdaptor(package private) static classDefaultIndexUpdater.LocalIndexCacheFetcherprivate classDefaultIndexUpdater.LuceneIndexAdaptor
-
Field Summary
Fields Modifier and Type Field Description private IncrementalHandlerincrementalHandlerprivate org.slf4j.Loggerloggerprivate 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 voidcleanCacheDirectory(java.io.File dir)Cleans specified cache directory.private java.util.PropertiesdownloadIndexProperties(ResourceFetcher fetcher)IndexUpdateResultfetchAndUpdateIndex(IndexUpdateRequest updateRequest)private IndexUpdateResultfetchAndUpdateIndex(IndexUpdateRequest updateRequest, ResourceFetcher source, DefaultIndexUpdater.IndexAdaptor target)private static voidfilterDirectory(org.apache.lucene.store.Directory directory, DocumentFilter filter)protected org.slf4j.LoggergetLogger()java.util.DategetTimestamp(java.util.Properties properties, java.lang.String key)private java.util.DateloadIndexDirectory(IndexUpdateRequest updateRequest, ResourceFetcher fetcher, boolean merge, java.lang.String remoteIndexFile)private java.util.PropertiesloadIndexProperties(java.io.File indexDirectoryFile, java.lang.String remoteIndexPropertiesName)private voidstoreIndexProperties(java.io.File dir, java.lang.String indexPropertiesName, java.util.Properties properties)static IndexDataReader.IndexDataReadResultunpackIndexData(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:
fetchAndUpdateIndexin 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.IOExceptionCleans specified cache directory. If present, Locker.LOCK_FILE will not be deleted.- Throws:
java.io.IOException
-
-