Class DefaultNexusIndexer

  • All Implemented Interfaces:
    NexusIndexer

    @Deprecated
    @Singleton
    @Named
    public class DefaultNexusIndexer
    extends java.lang.Object
    implements NexusIndexer
    Deprecated.
    Use Indexer instead. Discouraged from further use, as it suffers from multiple synchronization and other problems. As it tries to serve as "context registry" too, but it does not synchronize the access to it, but also, introduces some extras (like "targeted" vs "non targeted" search), that makes it's behavior less intuitive.
    A default NexusIndexer implementation.
    • Field Detail

      • indexer

        private final Indexer indexer
        Deprecated.
      • scanner

        private final Scanner scanner
        Deprecated.
      • indexerEngine

        private final IndexerEngine indexerEngine
        Deprecated.
      • queryCreator

        private final QueryCreator queryCreator
        Deprecated.
      • indexingContexts

        private final java.util.Map<java.lang.String,​IndexingContext> indexingContexts
        Deprecated.
    • Method Detail

      • addIndexingContext

        public IndexingContext addIndexingContext​(java.lang.String id,
                                                  java.lang.String repositoryId,
                                                  java.io.File repository,
                                                  java.io.File indexDirectory,
                                                  java.lang.String repositoryUrl,
                                                  java.lang.String indexUpdateUrl,
                                                  java.util.List<? extends IndexCreator> indexers)
                                           throws java.io.IOException,
                                                  UnsupportedExistingLuceneIndexException
        Deprecated.
        Description copied from interface: NexusIndexer
        Adds an indexing context to Nexus indexer.
        Specified by:
        addIndexingContext in interface NexusIndexer
        Parameters:
        id - the ID of the context.
        repositoryId - the ID of the repository that this context represents.
        repository - the location of the repository.
        indexDirectory - the location of the Lucene indexes.
        repositoryUrl - the location of the remote repository.
        indexUpdateUrl - the alternate location of the remote repository indexes (if they are not in default place).
        indexers - the set of indexers to apply to this context.
        Returns:
        Throws:
        java.io.IOException - in case of some serious IO problem.
        UnsupportedExistingLuceneIndexException - if a Lucene index already exists where location is specified, but it has no Nexus descriptor record or it has, but the embedded repoId differs from the repoId specified from the supplied one.
      • addIndexingContextForced

        public IndexingContext addIndexingContextForced​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        java.io.File indexDirectory,
                                                        java.lang.String repositoryUrl,
                                                        java.lang.String indexUpdateUrl,
                                                        java.util.List<? extends IndexCreator> indexers)
                                                 throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Adds an indexing context to Nexus indexer. It "forces" this operation, thus no UnsupportedExistingLuceneIndexException is thrown. If it founds an existing lucene index, it will simply stomp-over and rewrite (or add) the Nexus index descriptor.
        Specified by:
        addIndexingContextForced in interface NexusIndexer
        Parameters:
        id - the ID of the context.
        repositoryId - the ID of the repository that this context represents.
        repository - the location of the repository.
        indexDirectory - the location of the Lucene indexes.
        repositoryUrl - the location of the remote repository.
        indexUpdateUrl - the alternate location of the remote repository indexes (if they are not in default place).
        indexers - the set of indexers to apply to this context.
        Returns:
        Throws:
        java.io.IOException - in case of some serious IO problem.
      • addIndexingContext

        public IndexingContext addIndexingContext​(java.lang.String id,
                                                  java.lang.String repositoryId,
                                                  java.io.File repository,
                                                  org.apache.lucene.store.Directory directory,
                                                  java.lang.String repositoryUrl,
                                                  java.lang.String indexUpdateUrl,
                                                  java.util.List<? extends IndexCreator> indexers)
                                           throws java.io.IOException,
                                                  UnsupportedExistingLuceneIndexException
        Deprecated.
        Description copied from interface: NexusIndexer
        Adds an indexing context to Nexus indexer.
        Specified by:
        addIndexingContext in interface NexusIndexer
        Parameters:
        id - the ID of the context.
        repositoryId - the ID of the repository that this context represents.
        repository - the location of the repository.
        directory - the location of the Lucene indexes.
        repositoryUrl - the location of the remote repository.
        indexUpdateUrl - the alternate location of the remote repository indexes (if they are not in default place).
        indexers - the set of indexers to apply to this context.
        Returns:
        Throws:
        java.io.IOException - in case of some serious IO problem.
        UnsupportedExistingLuceneIndexException - if a Lucene index already exists where location is specified, but it has no Nexus descriptor record or it has, but the embedded repoId differs from the repoId specified from the supplied one.
      • addIndexingContextForced

        public IndexingContext addIndexingContextForced​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        org.apache.lucene.store.Directory directory,
                                                        java.lang.String repositoryUrl,
                                                        java.lang.String indexUpdateUrl,
                                                        java.util.List<? extends IndexCreator> indexers)
                                                 throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Adds an indexing context to Nexus indexer. It "forces" this operation, thus no UnsupportedExistingLuceneIndexException is thrown. If it founds an existing lucene index, it will simply stomp-over and rewrite (or add) the Nexus index descriptor.
        Specified by:
        addIndexingContextForced in interface NexusIndexer
        Parameters:
        id - the ID of the context.
        repositoryId - the ID of the repository that this context represents.
        repository - the location of the repository.
        directory - the location of the Lucene indexes.
        repositoryUrl - the location of the remote repository.
        indexUpdateUrl - the alternate location of the remote repository indexes (if they are not in default place).
        indexers - the set of indexers to apply to this context.
        Returns:
        Throws:
        java.io.IOException - in case of some serious IO problem.
      • addMergedIndexingContext

        public IndexingContext addMergedIndexingContext​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        java.io.File indexDirectory,
                                                        boolean searchable,
                                                        java.util.Collection<IndexingContext> contexts)
                                                 throws java.io.IOException
        Deprecated.
        Specified by:
        addMergedIndexingContext in interface NexusIndexer
        Throws:
        java.io.IOException
      • addMergedIndexingContext

        public IndexingContext addMergedIndexingContext​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        java.io.File indexDirectory,
                                                        boolean searchable,
                                                        ContextMemberProvider membersProvider)
                                                 throws java.io.IOException
        Deprecated.
        Specified by:
        addMergedIndexingContext in interface NexusIndexer
        Throws:
        java.io.IOException
      • addMergedIndexingContext

        public IndexingContext addMergedIndexingContext​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        org.apache.lucene.store.Directory indexDirectory,
                                                        boolean searchable,
                                                        java.util.Collection<IndexingContext> contexts)
                                                 throws java.io.IOException
        Deprecated.
        Specified by:
        addMergedIndexingContext in interface NexusIndexer
        Throws:
        java.io.IOException
      • addMergedIndexingContext

        public IndexingContext addMergedIndexingContext​(java.lang.String id,
                                                        java.lang.String repositoryId,
                                                        java.io.File repository,
                                                        org.apache.lucene.store.Directory indexDirectory,
                                                        boolean searchable,
                                                        ContextMemberProvider membersProvider)
                                                 throws java.io.IOException
        Deprecated.
        Specified by:
        addMergedIndexingContext in interface NexusIndexer
        Throws:
        java.io.IOException
      • removeIndexingContext

        public void removeIndexingContext​(IndexingContext context,
                                          boolean deleteFiles)
                                   throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Removes the indexing context from Nexus indexer, closes it and deletes (if specified) the index files.
        Specified by:
        removeIndexingContext in interface NexusIndexer
        Throws:
        java.io.IOException
      • scan

        public void scan​(IndexingContext context)
                  throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Performs full scan (reindex) for the local repository belonging to supplied context.
        Specified by:
        scan in interface NexusIndexer
        Throws:
        java.io.IOException
      • scan

        public void scan​(IndexingContext context,
                         boolean update)
                  throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Performs optionally incremental scan (reindex/full reindex) for the local repository belonging to the supplied context.
        Specified by:
        scan in interface NexusIndexer
        update - if incremental reindex wanted, set true, otherwise false and full reindex will happen
        Throws:
        java.io.IOException
      • scan

        public void scan​(IndexingContext context,
                         ArtifactScanningListener listener)
                  throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Performs full scan (reindex) for the local repository belonging to supplied context. ArtifactListener is used during that process.
        Specified by:
        scan in interface NexusIndexer
        Throws:
        java.io.IOException
      • scan

        public void scan​(IndexingContext context,
                         ArtifactScanningListener listener,
                         boolean update)
                  throws java.io.IOException
        Deprecated.
        Description copied from interface: NexusIndexer
        Performs optionally incremental scan (reindex) for the local repository, with listener.
        Specified by:
        scan in interface NexusIndexer
        update - if incremental reindex wanted, set true, otherwise false and full reindex will happen
        Throws:
        java.io.IOException
      • constructQuery

        @Deprecated
        public org.apache.lucene.search.Query constructQuery​(Field field,
                                                             java.lang.String query,
                                                             SearchType type)
                                                      throws java.lang.IllegalArgumentException
        Deprecated.
        Description copied from interface: NexusIndexer
        Helper method to construct Lucene query for given field without need for knowledge (on caller side) HOW is a field indexed, and WHAT query is needed to achieve that.
        Specified by:
        constructQuery in interface NexusIndexer
        Returns:
        Throws:
        java.lang.IllegalArgumentException
      • constructQuery

        public org.apache.lucene.search.Query constructQuery​(Field field,
                                                             SearchExpression expression)
                                                      throws java.lang.IllegalArgumentException
        Deprecated.
        Description copied from interface: NexusIndexer
        Helper method to construct Lucene query for given field without need for knowledge (on caller side) HOW is a field indexed, and WHAT query is needed to achieve that.
        Specified by:
        constructQuery in interface NexusIndexer
        Returns:
        Throws:
        java.lang.IllegalArgumentException
      • identify

        public java.util.Collection<ArtifactInfo> identify​(Field field,
                                                           java.lang.String query)
                                                    throws java.lang.IllegalArgumentException,
                                                           java.io.IOException
        Deprecated.
        Specified by:
        identify in interface NexusIndexer
        Throws:
        java.lang.IllegalArgumentException
        java.io.IOException
      • identify

        public java.util.Collection<ArtifactInfo> identify​(java.io.File artifact)
                                                    throws java.io.IOException
        Deprecated.
        Specified by:
        identify in interface NexusIndexer
        Throws:
        java.io.IOException
      • identify

        public java.util.Collection<ArtifactInfo> identify​(java.io.File artifact,
                                                           java.util.Collection<IndexingContext> contexts)
                                                    throws java.io.IOException
        Deprecated.
        Specified by:
        identify in interface NexusIndexer
        Throws:
        java.io.IOException
      • identify

        public java.util.Collection<ArtifactInfo> identify​(org.apache.lucene.search.Query query)
                                                    throws java.io.IOException
        Deprecated.
        Specified by:
        identify in interface NexusIndexer
        Throws:
        java.io.IOException
      • identify

        public java.util.Collection<ArtifactInfo> identify​(org.apache.lucene.search.Query query,
                                                           java.util.Collection<IndexingContext> contexts)
                                                    throws java.io.IOException
        Deprecated.
        Specified by:
        identify in interface NexusIndexer
        Throws:
        java.io.IOException