public class NexusIndexManager extends Object implements IndexManager, IMavenProjectChangedListener, IRepositoryIndexer
| Modifier and Type | Field and Description |
|---|---|
static int |
MIN_CLASS_QUERY_LENGTH |
LOCAL_INDEX, WORKSPACE_INDEX| Constructor and Description |
|---|
NexusIndexManager(org.codehaus.plexus.PlexusContainer container,
IMavenProjectRegistry projectManager,
IRepositoryRegistry repositoryRegistry,
File stateDir) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDocument(IRepository repository,
File file,
ArtifactKey key) |
void |
addIndexListener(IndexListener listener) |
org.apache.lucene.search.Query |
constructQuery(org.apache.maven.index.Field field,
SearchExpression query)
Method to construct Lucene Queries without need to actually know the structure and details (field names, analyze
details, etc) of the underlying index.
|
protected org.apache.maven.index.context.IndexingContext |
createIndexingContext(IRepository repository,
String details) |
protected void |
fireIndexAdded(IRepository repository) |
protected void |
fireIndexChanged(IRepository repository) |
protected void |
fireIndexRemoved(IRepository repository) |
protected void |
fireIndexUpdating(IRepository repository) |
IIndex |
getAllIndexes()
Returns index aggregating all indexes enabled for repositories defined in settings.xml
|
org.apache.maven.archetype.source.ArchetypeDataSource |
getArchetypeCatalog() |
org.apache.maven.index.ArtifactContextProducer |
getArtifactContextProducer() |
protected String |
getArtifactFileKey(String group,
String artifact,
String packageName,
String className) |
static String |
getDocumentKey(ArtifactKey artifact) |
IIndex |
getIndex(org.eclipse.core.resources.IProject project)
For Maven projects, returns index of all repositories configured for the project.
|
NexusIndex |
getIndex(IRepository repository) |
String |
getIndexDetails(IRepository repository)
For tests only
|
protected org.apache.lucene.store.Directory |
getIndexDirectory(IRepository repository) |
protected File |
getIndexDirectoryFile(IRepository repository) |
IndexedArtifactFile |
getIndexedArtifactFile(org.apache.maven.index.ArtifactInfo artifactInfo)
for Unit test
|
IndexedArtifactFile |
getIndexedArtifactFile(IRepository repository,
ArtifactKey gav)
for Unit test
|
org.apache.maven.index.NexusIndexer |
getIndexer() |
String |
getIndexerId() |
protected List<org.apache.maven.index.context.IndexCreator> |
getIndexers(String details) |
org.apache.maven.index.context.IndexingContext |
getIndexingContext(IRepository repository)
public for unit tests only!
|
org.apache.maven.index.updater.IndexUpdater |
getIndexUpdate() |
org.eclipse.core.runtime.jobs.Job |
getIndexUpdateJob()
for unit tests only
|
NexusIndex |
getLocalIndex() |
IndexedArtifactGroup[] |
getRootIndexedArtifactGroups(IRepository repository)
for unit tests
|
NexusIndex |
getWorkspaceIndex() |
IndexedArtifactFile |
identify(File file) |
protected org.apache.maven.index.ArtifactInfo |
identify(File artifact,
Collection<org.apache.maven.index.context.IndexingContext> contexts) |
protected IndexedArtifactFile |
identify(IRepository repository,
File file) |
void |
initialize(org.eclipse.core.runtime.IProgressMonitor monitor)
This method is called from a background thread which does not keep any workspace locks.
|
protected boolean |
isUpdatingIndex(IRepository repository) |
void |
mavenProjectChanged(MavenProjectChangedEvent[] events,
org.eclipse.core.runtime.IProgressMonitor monitor)
This method is called while holding workspace lock.
|
protected org.apache.maven.index.updater.IndexUpdateRequest |
newIndexUpdateRequest(IRepository repository,
org.apache.maven.index.context.IndexingContext context,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
removeDocument(IRepository repository,
File file,
ArtifactKey key,
IMavenProjectFacade facade) |
void |
removeIndexListener(IndexListener listener) |
void |
repositoryAdded(IRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor)
Called by repository registry when new repository is added.
|
void |
repositoryRemoved(IRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor)
Called by repository registry when a repository is removed.
|
IndexedArtifactGroup |
resolveGroup(IndexedArtifactGroup group) |
protected void |
scheduleIndexUpdate(IRepository repository,
boolean force) |
protected Map<String,IndexedArtifact> |
search(IRepository repository,
org.apache.lucene.search.Query query) |
protected Map<String,IndexedArtifact> |
search(IRepository repository,
SearchExpression term,
String type) |
protected Map<String,IndexedArtifact> |
search(IRepository repository,
SearchExpression term,
String type,
int classifier) |
Map<String,IndexedArtifact> |
search(SearchExpression term,
String type) |
Map<String,IndexedArtifact> |
search(SearchExpression term,
String type,
int classifier) |
void |
setIndexDetails(IRepository repository,
String details,
org.eclipse.core.runtime.IProgressMonitor monitor)
Updates index synchronously if monitor!=null.
|
void |
updateIndex(IRepository repository,
boolean force,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
writeIndexDetails() |
public static final int MIN_CLASS_QUERY_LENGTH
public NexusIndexManager(org.codehaus.plexus.PlexusContainer container,
IMavenProjectRegistry projectManager,
IRepositoryRegistry repositoryRegistry,
File stateDir)
public IndexedArtifactFile getIndexedArtifactFile(IRepository repository, ArtifactKey gav) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic IndexedArtifactFile getIndexedArtifactFile(org.apache.maven.index.ArtifactInfo artifactInfo)
public IndexedArtifactFile identify(File file) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected IndexedArtifactFile identify(IRepository repository, File file) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic org.apache.lucene.search.Query constructQuery(org.apache.maven.index.Field field,
SearchExpression query)
field - query - type - public Map<String,IndexedArtifact> search(SearchExpression term, String type) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic Map<String,IndexedArtifact> search(SearchExpression term, String type, int classifier) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected Map<String,IndexedArtifact> search(IRepository repository, SearchExpression term, String type, int classifier) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected Map<String,IndexedArtifact> search(IRepository repository, SearchExpression term, String type) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected Map<String,IndexedArtifact> search(IRepository repository, org.apache.lucene.search.Query query) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected String getArtifactFileKey(String group, String artifact, String packageName, String className)
protected void addDocument(IRepository repository, File file, ArtifactKey key)
protected void removeDocument(IRepository repository, File file, ArtifactKey key, IMavenProjectFacade facade)
protected void scheduleIndexUpdate(IRepository repository, boolean force)
public IndexedArtifactGroup[] getRootIndexedArtifactGroups(IRepository repository) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic org.apache.maven.index.context.IndexingContext getIndexingContext(IRepository repository)
public org.apache.maven.index.NexusIndexer getIndexer()
public org.apache.maven.index.ArtifactContextProducer getArtifactContextProducer()
public static String getDocumentKey(ArtifactKey artifact)
public void mavenProjectChanged(MavenProjectChangedEvent[] events, org.eclipse.core.runtime.IProgressMonitor monitor)
IMavenProjectChangedListenermavenProjectChanged in interface IMavenProjectChangedListenerpublic NexusIndex getWorkspaceIndex()
getWorkspaceIndex in interface IndexManagerpublic NexusIndex getLocalIndex()
getLocalIndex in interface IndexManagerpublic IIndex getIndex(org.eclipse.core.resources.IProject project)
IndexManagergetIndex in interface IndexManagerpublic IIndex getAllIndexes()
IndexManagergetAllIndexes in interface IndexManagerpublic NexusIndex getIndex(IRepository repository)
protected File getIndexDirectoryFile(IRepository repository)
protected org.apache.lucene.store.Directory getIndexDirectory(IRepository repository) throws IOException
IOExceptionpublic IndexedArtifactGroup resolveGroup(IndexedArtifactGroup group)
public void repositoryAdded(IRepository repository, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
IRepositoryIndexerrepositoryAdded in interface IRepositoryIndexerorg.eclipse.core.runtime.CoreExceptionpublic String getIndexDetails(IRepository repository)
public void setIndexDetails(IRepository repository, String details, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected org.apache.maven.index.context.IndexingContext createIndexingContext(IRepository repository, String details) throws IOException
IOExceptionpublic void repositoryRemoved(IRepository repository, org.eclipse.core.runtime.IProgressMonitor monitor)
IRepositoryIndexerrepositoryRemoved in interface IRepositoryIndexerprotected void fireIndexAdded(IRepository repository)
protected void fireIndexRemoved(IRepository repository)
protected boolean isUpdatingIndex(IRepository repository)
protected void fireIndexUpdating(IRepository repository)
protected void fireIndexChanged(IRepository repository)
public void removeIndexListener(IndexListener listener)
removeIndexListener in interface IndexManagerpublic void addIndexListener(IndexListener listener)
addIndexListener in interface IndexManagerpublic void updateIndex(IRepository repository, boolean force, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected org.apache.maven.index.updater.IndexUpdateRequest newIndexUpdateRequest(IRepository repository, org.apache.maven.index.context.IndexingContext context, org.eclipse.core.runtime.IProgressMonitor monitor) throws IOException, org.eclipse.core.runtime.CoreException
IOExceptionorg.eclipse.core.runtime.CoreExceptionpublic void initialize(org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
IRepositoryIndexerinitialize in interface IRepositoryIndexerorg.eclipse.core.runtime.CoreExceptionprotected void writeIndexDetails()
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic org.eclipse.core.runtime.jobs.Job getIndexUpdateJob()
public String getIndexerId()
getIndexerId in interface IRepositoryIndexerprotected org.apache.maven.index.ArtifactInfo identify(File artifact, Collection<org.apache.maven.index.context.IndexingContext> contexts) throws IOException
IOExceptionpublic org.apache.maven.index.updater.IndexUpdater getIndexUpdate()
public org.apache.maven.archetype.source.ArchetypeDataSource getArchetypeCatalog()
Copyright © 2005–2021 Eclipse Foundation. All rights reserved.