org.apache.archiva.indexer.search
Class MavenRepositorySearch

java.lang.Object
  extended by org.apache.archiva.indexer.search.MavenRepositorySearch
All Implemented Interfaces:
RepositorySearch

@Service(value="repositorySearch#maven")
public class MavenRepositorySearch
extends Object
implements RepositorySearch

RepositorySearch implementation which uses the Maven Indexer for searching.


Field Summary
private  org.apache.maven.index.NexusIndexer indexer
           
private  org.slf4j.Logger log
           
private  ManagedRepositoryAdmin managedRepositoryAdmin
           
private  MavenIndexerUtils mavenIndexerUtils
           
private  ProxyConnectorAdmin proxyConnectorAdmin
           
 
Constructor Summary
protected MavenRepositorySearch()
           
  MavenRepositorySearch(PlexusSisuBridge plexusSisuBridge, ManagedRepositoryAdmin managedRepositoryAdmin, MavenIndexerUtils mavenIndexerUtils, ProxyConnectorAdmin proxyConnectorAdmin)
           
 
Method Summary
private  List<String> addIndexingContexts(List<String> selectedRepos)
           
private  boolean applyArtifactInfoFilters(org.apache.maven.index.ArtifactInfo artifactInfo, List<? extends ArtifactInfoFilter> artifactInfoFilters, Map<String,SearchResultHit> currentResult)
           
private  void constructQuery(String term, org.apache.lucene.search.BooleanQuery q)
           
private  SearchResults convertToSearchResults(org.apache.maven.index.FlatSearchResponse response, SearchResultLimits limits, List<? extends ArtifactInfoFilter> artifactInfoFilters, List<String> selectedRepos, boolean includePoms)
           
 Collection<String> getAllGroupIds(String principal, List<String> selectedRepos)
           
protected  List<? extends org.apache.maven.index.context.IndexCreator> getAllIndexCreators()
           
protected  String getBaseUrl(org.apache.maven.index.ArtifactInfo artifactInfo, List<String> selectedRepos)
          calculate baseUrl without the context and base Archiva Url
private  List<org.apache.maven.index.context.IndexingContext> getIndexingContexts(List<String> ids)
           
private  String getManagedRepoId(String remoteRepo, List<String> selectedRepos)
          return a managed repo for a remote result
 Set<String> getRemoteIndexingContextIds(String managedRepoId)
           
protected  SearchResults paginate(SearchResults results)
           
private  SearchResults search(SearchResultLimits limits, org.apache.lucene.search.BooleanQuery q, List<String> indexingContextIds, List<? extends ArtifactInfoFilter> filters, List<String> selectedRepos, boolean includePoms)
           
 SearchResults search(String principal, List<String> selectedRepos, String term, SearchResultLimits limits, List<String> previousSearchTerms)
          Quick search by won't return artifact with file extension pom
 SearchResults search(String principal, SearchFields searchFields, SearchResultLimits limits)
          Advanced search.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private org.slf4j.Logger log

indexer

private org.apache.maven.index.NexusIndexer indexer

managedRepositoryAdmin

private ManagedRepositoryAdmin managedRepositoryAdmin

proxyConnectorAdmin

private ProxyConnectorAdmin proxyConnectorAdmin

mavenIndexerUtils

private MavenIndexerUtils mavenIndexerUtils
Constructor Detail

MavenRepositorySearch

protected MavenRepositorySearch()

MavenRepositorySearch

@Inject
public MavenRepositorySearch(PlexusSisuBridge plexusSisuBridge,
                                    ManagedRepositoryAdmin managedRepositoryAdmin,
                                    MavenIndexerUtils mavenIndexerUtils,
                                    ProxyConnectorAdmin proxyConnectorAdmin)
                      throws PlexusSisuBridgeException
Throws:
PlexusSisuBridgeException
Method Detail

search

public SearchResults search(String principal,
                            List<String> selectedRepos,
                            String term,
                            SearchResultLimits limits,
                            List<String> previousSearchTerms)
                     throws RepositorySearchException
Description copied from interface: RepositorySearch
Quick search by won't return artifact with file extension pom

Specified by:
search in interface RepositorySearch
Returns:
Throws:
RepositorySearchException
See Also:
RepositorySearch.search(String, List, String, SearchResultLimits, List)

search

public SearchResults search(String principal,
                            SearchFields searchFields,
                            SearchResultLimits limits)
                     throws RepositorySearchException
Description copied from interface: RepositorySearch
Advanced search.

Specified by:
search in interface RepositorySearch
Returns:
Throws:
RepositorySearchException
See Also:
RepositorySearch.search(String, SearchFields, SearchResultLimits)

search

private SearchResults search(SearchResultLimits limits,
                             org.apache.lucene.search.BooleanQuery q,
                             List<String> indexingContextIds,
                             List<? extends ArtifactInfoFilter> filters,
                             List<String> selectedRepos,
                             boolean includePoms)
                      throws RepositorySearchException
Throws:
RepositorySearchException

getIndexingContexts

private List<org.apache.maven.index.context.IndexingContext> getIndexingContexts(List<String> ids)

constructQuery

private void constructQuery(String term,
                            org.apache.lucene.search.BooleanQuery q)

addIndexingContexts

private List<String> addIndexingContexts(List<String> selectedRepos)
Parameters:
selectedRepos -
Returns:
indexing contextId used

getRemoteIndexingContextIds

public Set<String> getRemoteIndexingContextIds(String managedRepoId)
                                        throws RepositoryAdminException
Specified by:
getRemoteIndexingContextIds in interface RepositorySearch
Throws:
RepositoryAdminException

getAllGroupIds

public Collection<String> getAllGroupIds(String principal,
                                         List<String> selectedRepos)
                                  throws RepositorySearchException
Specified by:
getAllGroupIds in interface RepositorySearch
Throws:
RepositorySearchException

getAllIndexCreators

protected List<? extends org.apache.maven.index.context.IndexCreator> getAllIndexCreators()

convertToSearchResults

private SearchResults convertToSearchResults(org.apache.maven.index.FlatSearchResponse response,
                                             SearchResultLimits limits,
                                             List<? extends ArtifactInfoFilter> artifactInfoFilters,
                                             List<String> selectedRepos,
                                             boolean includePoms)
                                      throws RepositoryAdminException
Throws:
RepositoryAdminException

getBaseUrl

protected String getBaseUrl(org.apache.maven.index.ArtifactInfo artifactInfo,
                            List<String> selectedRepos)
                     throws RepositoryAdminException
calculate baseUrl without the context and base Archiva Url

Parameters:
artifactInfo -
Returns:
Throws:
RepositoryAdminException

getManagedRepoId

private String getManagedRepoId(String remoteRepo,
                                List<String> selectedRepos)
                         throws RepositoryAdminException
return a managed repo for a remote result

Parameters:
remoteRepo -
selectedRepos -
Returns:
Throws:
RepositoryAdminException

applyArtifactInfoFilters

private boolean applyArtifactInfoFilters(org.apache.maven.index.ArtifactInfo artifactInfo,
                                         List<? extends ArtifactInfoFilter> artifactInfoFilters,
                                         Map<String,SearchResultHit> currentResult)

paginate

protected SearchResults paginate(SearchResults results)


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.