You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/06/08 05:54:07 UTC
svn commit: r412642 - in /maven/repository-manager/trunk:
maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/
maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/
maven-repository-indexer/src/test...
Author: brett
Date: Wed Jun 7 20:54:06 2006
New Revision: 412642
URL: http://svn.apache.org/viewvc?rev=412642&view=rev
Log:
[MRM-118] refactor the searchers into components any make them thread safe
Added:
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearchLayer.java
- copied, changed from r412324, maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java (with props)
Modified:
maven/repository-manager/trunk/maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/IndexSearcherCli.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndex.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearcher.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexingFactory.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearcher.java
maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexingFactory.java
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/MetadataRepositoryIndexingTest.java
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/PomRepositoryIndexingTest.java
maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayerTest.java
maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/GeneralSearchAction.java
maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/PackageSearchAction.java
Modified: maven/repository-manager/trunk/maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/IndexSearcherCli.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/IndexSearcherCli.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/IndexSearcherCli.java (original)
+++ maven/repository-manager/trunk/maven-repository-application/src/main/java/org/apache/maven/repository/manager/cli/IndexSearcherCli.java Wed Jun 7 20:54:06 2006
@@ -20,9 +20,9 @@
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.repository.indexing.ArtifactRepositoryIndex;
-import org.apache.maven.repository.indexing.DefaultRepositoryIndexSearcher;
import org.apache.maven.repository.indexing.RepositoryIndexException;
import org.apache.maven.repository.indexing.RepositoryIndexSearchException;
+import org.apache.maven.repository.indexing.RepositoryIndexSearcher;
import org.apache.maven.repository.indexing.RepositoryIndexingFactory;
import org.apache.maven.repository.indexing.query.SinglePhraseQuery;
import org.codehaus.classworlds.ClassWorld;
@@ -67,11 +67,11 @@
ArtifactRepositoryIndex index =
indexFactory.createArtifactRepositoryIndex( new File( args[0], ".index" ).getAbsolutePath(), repository );
- DefaultRepositoryIndexSearcher searcher = indexFactory.createDefaultRepositoryIndexSearcher( index );
+ RepositoryIndexSearcher searcher = (RepositoryIndexSearcher) embedder.lookup( RepositoryIndexSearcher.ROLE );
try
{
- System.out.println( searcher.search( new SinglePhraseQuery( args[1], args[2] ) ) );
+ System.out.println( searcher.search( new SinglePhraseQuery( args[1], args[2] ), index ) );
}
finally
{
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndex.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndex.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndex.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/AbstractRepositoryIndex.java Wed Jun 7 20:54:06 2006
@@ -32,21 +32,24 @@
import java.util.zip.ZipEntry;
/**
- * Abstract class for RepositoryIndexers
+ * Abstract class for RepositoryIndexers.
*
* @author Edwin Punzalan
*/
public abstract class AbstractRepositoryIndex
implements RepositoryIndex
{
+ // TODO [!] can this be derived from the repository?
private String indexPath;
private boolean indexOpen;
+ // TODO [!] why is the writer open for the life, but not the reader? why keep them open that length of time anyway? investigate best practices in Lucene
private IndexWriter indexWriter;
protected ArtifactRepository repository;
+ // TODO [!] is this really needed externally?
private Analyzer analyzer;
/**
@@ -155,6 +158,7 @@
protected IndexWriter getIndexWriter()
throws IOException
{
+ // TODO [!] why is this allowed to be called before open()?
if ( indexWriter == null )
{
indexWriter = new IndexWriter( indexPath, getAnalyzer(), false );
@@ -220,7 +224,7 @@
}
catch ( IOException ie )
{
- throw new RepositoryIndexException( indexPath + "is not a valid directory." );
+ throw new RepositoryIndexException( indexPath + " is not a valid directory." );
}
finally
{
Copied: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearchLayer.java (from r412324, maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java)
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearchLayer.java?p2=maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearchLayer.java&p1=maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java&r1=412324&r2=412642&rev=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearchLayer.java Wed Jun 7 20:54:06 2006
@@ -35,50 +35,34 @@
import java.util.StringTokenizer;
/**
- * <p/>
* This class is to be invoked or called by the action class for
* general and advanced searching. It uses the DefaultRepositoryIndexSearcher
* to perform the search and constructs the search result objects to be
* returned to tha webapp action class.
+ *
+ * @plexus.component role="org.apache.maven.repository.indexing.RepositoryIndexSearchLayer"
*/
-public class RepositoryIndexSearchLayer
+public class DefaultRepositoryIndexSearchLayer
+ implements RepositoryIndexSearchLayer
{
- private RepositoryIndex index;
-
- private ArtifactFactory factory;
-
- private List searchResults;
-
- private List generalSearchResults;
-
/**
- * Class constructor
- *
- * @param index
+ * @plexus.requirement
*/
- public RepositoryIndexSearchLayer( RepositoryIndex index, ArtifactFactory factory )
- {
- this.index = index;
- this.factory = factory;
- }
+ private ArtifactFactory factory;
/**
- * Method for searching the keyword in all the fields in the index. "Query everything" search.
- * The index fields will be retrieved and query objects will be constructed using the
- * optional (OR) CompoundQuery.
- *
- * @param keyword
- * @return
- * @throws RepositoryIndexSearchException
+ * @plexus.requirement
*/
- public List searchGeneral( String keyword )
+ private RepositoryIndexSearcher searcher;
+
+ public List searchGeneral( String keyword, RepositoryIndex index )
throws RepositoryIndexSearchException
{
- generalSearchResults = new ArrayList();
+ List generalSearchResults = new ArrayList();
for ( int i = 0; i < RepositoryIndex.FIELDS.length; i++ )
{
Query qry = new SinglePhraseQuery( RepositoryIndex.FIELDS[i], keyword );
- List results = searchAdvanced( qry );
+ List results = searchAdvanced( qry, index );
for ( Iterator iter = results.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -87,8 +71,8 @@
for ( Iterator it = entrySet.iterator(); it.hasNext(); )
{
Map.Entry entry = (Map.Entry) it.next();
- SearchResult result2 =
- createSearchResult( result.getArtifact(), map, keyword, (String) entry.getKey() );
+ SearchResult result2 = createSearchResult( result.getArtifact(), map, keyword,
+ (String) entry.getKey(), generalSearchResults );
generalSearchResults.add( result2 );
}
}
@@ -97,20 +81,12 @@
return generalSearchResults;
}
- /**
- * Method for "advanced search" of the index
- *
- * @param qry the query object that will be used for searching the index
- * @return
- * @throws RepositoryIndexSearchException
- */
- public List searchAdvanced( Query qry )
+ public List searchAdvanced( Query qry, RepositoryIndex index )
throws RepositoryIndexSearchException
{
- RepositoryIndexSearcher searcher = new DefaultRepositoryIndexSearcher( index, factory );
- searchResults = new ArrayList();
+ List searchResults = new ArrayList();
- List hits = searcher.search( qry );
+ List hits = searcher.search( qry, index );
for ( Iterator it = hits.iterator(); it.hasNext(); )
{
RepositoryIndexSearchHit hit = (RepositoryIndexSearchHit) it.next();
@@ -136,7 +112,7 @@
Model model = (Model) hit.getObject();
for ( int i = 0; i < RepositoryIndex.MODEL_FIELDS.length; i++ )
{
- result = createSearchResult( model, RepositoryIndex.MODEL_FIELDS[i] );
+ result = createSearchResult( model, RepositoryIndex.MODEL_FIELDS[i], searchResults );
searchResults.add( result );
}
}
@@ -227,7 +203,8 @@
* @param keyword the query term
* @return the SearchResult object
*/
- private SearchResult createSearchResult( Artifact artifact, Map map, String keyword, String field )
+ private SearchResult createSearchResult( Artifact artifact, Map map, String keyword, String field,
+ List generalSearchResults )
{
int index = getListIndex( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
generalSearchResults );
@@ -236,8 +213,7 @@
if ( index > -1 )
{
- result = (SearchResult) generalSearchResults.get( index );
- generalSearchResults.remove( index );
+ result = (SearchResult) generalSearchResults.remove( index );
resultMap = result.getFieldMatches();
}
else
@@ -297,7 +273,7 @@
* @param field the field whose value is to be retrieved
* @return a SearchResult object
*/
- private SearchResult createSearchResult( Model model, String field )
+ private SearchResult createSearchResult( Model model, String field, List searchResults )
{
int index = getListIndex( model.getGroupId(), model.getArtifactId(), model.getVersion(), searchResults );
SearchResult result;
@@ -306,8 +282,7 @@
// the object already exists in the search result list
if ( index > -1 )
{
- result = (SearchResult) searchResults.get( index );
- searchResults.remove( index );
+ result = (SearchResult) searchResults.remove( index );
map = result.getFieldMatches();
}
else
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearcher.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearcher.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearcher.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexSearcher.java Wed Jun 7 20:54:06 2006
@@ -22,6 +22,7 @@
import org.apache.lucene.search.IndexSearcher;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.GroupRepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.Metadata;
@@ -50,40 +51,24 @@
/**
* Implementation Class for searching through the index.
*
- * @todo this is not a component, but extends ALE, meaning logging will throw an exception! -- should be a component
+ * @plexus.component role="org.apache.maven.repository.indexing.RepositoryIndexSearcher"
*/
public class DefaultRepositoryIndexSearcher
extends AbstractLogEnabled
implements RepositoryIndexSearcher
{
- protected RepositoryIndex index;
-
- private ArtifactFactory factory;
-
- private List artifactList;
-
/**
- * Constructor
- *
- * @param index the index object
+ * @plexus.requirement
*/
- protected DefaultRepositoryIndexSearcher( RepositoryIndex index, ArtifactFactory factory )
- {
- this.index = index;
- this.factory = factory;
- }
+ private ArtifactFactory factory;
- /**
- * @see RepositoryIndexSearcher#search(org.apache.maven.repository.indexing.query.Query)
- */
- public List search( Query query )
+ public List search( Query query, RepositoryIndex index )
throws RepositoryIndexSearchException
{
- artifactList = new ArrayList();
org.apache.lucene.search.Query luceneQuery;
try
{
- luceneQuery = createLuceneQuery( query );
+ luceneQuery = query.createLuceneQuery( index );
}
catch ( ParseException e )
{
@@ -100,11 +85,15 @@
throw new RepositoryIndexSearchException( "Unable to open index: " + e.getMessage(), e );
}
- List docs;
+ List docs = new ArrayList();
try
{
Hits hits = searcher.search( luceneQuery );
- docs = buildList( hits );
+ for ( int i = 0; i < hits.length(); i++ )
+ {
+ Document doc = hits.doc( i );
+ docs.add( createSearchedObjectFromIndexDocument( doc, index.getRepository() ) );
+ }
}
catch ( MalformedURLException e )
{
@@ -130,43 +119,14 @@
}
/**
- * Method to create a lucene Query object by converting a prepared Query object
- *
- * @param query the prepared Query object to be converted into a lucene Query object
- * @return a lucene Query object to represent the passed Query object
- * @throws ParseException
- */
- private org.apache.lucene.search.Query createLuceneQuery( Query query )
- throws ParseException
- {
- return query.createLuceneQuery( index );
- }
-
- /**
- * Create a list of artifact objects from the result set.
- *
- * @param hits the search result set
- * @return List
- */
- private List buildList( Hits hits )
- throws RepositoryIndexSearchException, IOException
- {
- for ( int i = 0; i < hits.length(); i++ )
- {
- Document doc = hits.doc( i );
- artifactList.add( createSearchedObjectFromIndexDocument( doc ) );
- }
-
- return artifactList;
- }
-
- /**
* Method for creating the object to be returned for the search
*
- * @param doc the index document where the object field values will be retrieved from
+ * @param doc the index document where the object field values will be retrieved from
+ * @param repository
* @return Object
*/
- protected RepositoryIndexSearchHit createSearchedObjectFromIndexDocument( Document doc )
+ protected RepositoryIndexSearchHit createSearchedObjectFromIndexDocument( Document doc,
+ ArtifactRepository repository )
throws RepositoryIndexSearchException
{
RepositoryIndexSearchHit searchHit = null;
@@ -180,8 +140,7 @@
String packaging = doc.get( RepositoryIndex.FLD_PACKAGING );
Artifact artifact = factory.createBuildArtifact( groupId, artifactId, version, packaging );
- artifact.setFile(
- new File( index.getRepository().getBasedir(), index.getRepository().pathOf( artifact ) ) );
+ artifact.setFile( new File( repository.getBasedir(), repository.pathOf( artifact ) ) );
Map map = new HashMap();
map.put( RepositoryIndex.ARTIFACT, artifact );
@@ -201,7 +160,7 @@
Artifact pomArtifact = factory.createProjectArtifact( groupId, artifactId, version );
searchHit = new RepositoryIndexSearchHit( false, false, true );
- searchHit.setObject( readPom( pomArtifact ) );
+ searchHit.setObject( readPom( pomArtifact, repository ) );
}
// the document is of type metadata
else if ( doc.get( RepositoryIndex.FLD_DOCTYPE ).equals( RepositoryIndex.METADATA ) )
@@ -233,7 +192,7 @@
repoMetadata = new GroupRepositoryMetadata( groupId );
}
- repoMetadata.setMetadata( readMetadata( repoMetadata ) );
+ repoMetadata.setMetadata( readMetadata( repoMetadata, repository ) );
searchHit = new RepositoryIndexSearchHit( false, true, false );
searchHit.setObject( repoMetadata );
@@ -247,11 +206,10 @@
*
* @return RepositoryMetadata
*/
- private Metadata readMetadata( RepositoryMetadata repoMetadata )
+ private Metadata readMetadata( RepositoryMetadata repoMetadata, ArtifactRepository repository )
throws RepositoryIndexSearchException
{
- File file = new File( index.getRepository().getBasedir(),
- index.getRepository().pathOfRemoteRepositoryMetadata( repoMetadata ) );
+ File file = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( repoMetadata ) );
MetadataXpp3Reader metadataReader = new MetadataXpp3Reader();
@@ -284,10 +242,10 @@
*
* @return RepositoryMetadata
*/
- private Model readPom( Artifact pomArtifact )
+ private Model readPom( Artifact pomArtifact, ArtifactRepository repository )
throws RepositoryIndexSearchException
{
- File file = new File( index.getRepository().getBasedir(), index.getRepository().pathOf( pomArtifact ) );
+ File file = new File( repository.getBasedir(), repository.pathOf( pomArtifact ) );
MavenXpp3Reader r = new MavenXpp3Reader();
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexingFactory.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexingFactory.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexingFactory.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/DefaultRepositoryIndexingFactory.java Wed Jun 7 20:54:06 2006
@@ -23,7 +23,6 @@
/**
* @author Edwin Punzalan
* @plexus.component role="org.apache.maven.repository.indexing.RepositoryIndexingFactory"
- * @todo these methods should be replaced by plexus lookups of some kind!
*/
public class DefaultRepositoryIndexingFactory
implements RepositoryIndexingFactory
@@ -63,22 +62,6 @@
throws RepositoryIndexException
{
return new MetadataRepositoryIndex( indexPath, repository );
- }
-
- /*
- * @see RepositoryIndexingFactory#createRepositoryIndexSearchLayer(RepositoryIndex)
- */
- public RepositoryIndexSearchLayer createRepositoryIndexSearchLayer( RepositoryIndex index )
- {
- return new RepositoryIndexSearchLayer( index, artifactFactory );
- }
-
- /**
- * @see RepositoryIndexingFactory#createDefaultRepositoryIndexSearcher(RepositoryIndex)
- */
- public DefaultRepositoryIndexSearcher createDefaultRepositoryIndexSearcher( RepositoryIndex index )
- {
- return new DefaultRepositoryIndexSearcher( index, artifactFactory );
}
}
Added: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java?rev=412642&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java (added)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java Wed Jun 7 20:54:06 2006
@@ -0,0 +1,60 @@
+package org.apache.maven.repository.indexing;
+
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.repository.indexing.query.Query;
+
+import java.util.List;
+
+/**
+ * Repository search layer.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface RepositoryIndexSearchLayer
+{
+ /**
+ * The Plexus component role name.
+ */
+ String ROLE = RepositoryIndexSearchLayer.class.getName();
+
+ /**
+ * Method for searching the keyword in all the fields in the index. "Query everything" search.
+ * The index fields will be retrieved and query objects will be constructed using the
+ * optional (OR) CompoundQuery.
+ *
+ * @param keyword
+ * @param index
+ * @return
+ * @throws RepositoryIndexSearchException
+ *
+ */
+ List searchGeneral( String keyword, RepositoryIndex index )
+ throws RepositoryIndexSearchException;
+
+ /**
+ * Method for "advanced search" of the index
+ *
+ * @param qry the query object that will be used for searching the index
+ * @param index
+ * @return
+ * @throws RepositoryIndexSearchException
+ *
+ */
+ List searchAdvanced( Query qry, RepositoryIndex index )
+ throws RepositoryIndexSearchException;
+}
Propchange: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayer.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearcher.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearcher.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearcher.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexSearcher.java Wed Jun 7 20:54:06 2006
@@ -26,13 +26,19 @@
public interface RepositoryIndexSearcher
{
/**
+ * Plexus component role name.
+ */
+ String ROLE = RepositoryIndexSearcher.class.getName();
+
+ /**
* Search the artifact based on the search criteria specified in the query object. Returns a list of
* artifact objects.
*
* @param query The query object that contains the search criteria.
+ * @param index
* @return List
* @throws RepositoryIndexSearchException
*/
- List search( Query query )
+ List search( Query query, RepositoryIndex index )
throws RepositoryIndexSearchException;
}
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexingFactory.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexingFactory.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexingFactory.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/RepositoryIndexingFactory.java Wed Jun 7 20:54:06 2006
@@ -59,19 +59,4 @@
MetadataRepositoryIndex createMetadataRepositoryIndex( String indexPath, ArtifactRepository repository )
throws RepositoryIndexException;
- /**
- * Method to create an instance of RepositoryIndexSearchLayer
- *
- * @param index the RepositoryIndex object where the query string will be searched
- * @return the RepositoryIndexSearchLayer instance
- */
- RepositoryIndexSearchLayer createRepositoryIndexSearchLayer( RepositoryIndex index );
-
- /**
- * Method to create an instance of DefaultRepositoryIndexSearcher
- *
- * @param index the RepositoryIndex object where the query string will be searched
- * @return the DefaultRepositoryIndexSearcher instance
- */
- DefaultRepositoryIndexSearcher createDefaultRepositoryIndexSearcher( RepositoryIndex index );
}
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/ArtifactRepositoryIndexingTest.java Wed Jun 7 20:54:06 2006
@@ -161,12 +161,14 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
ArtifactRepositoryIndex indexer = factory.createArtifactRepositoryIndex( indexPath, repository );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
// search version
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "1.0" );
- List artifacts = repoSearchLayer.searchAdvanced( qry );
+ List artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -177,7 +179,7 @@
// search classes
qry = new SinglePhraseQuery( RepositoryIndex.FLD_CLASSES, "App" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -188,7 +190,7 @@
// search packages
qry = new SinglePhraseQuery( RepositoryIndex.FLD_PACKAGES, "groupId" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -199,7 +201,7 @@
// search files
qry = new SinglePhraseQuery( RepositoryIndex.FLD_FILES, "pom.xml" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 3, artifacts.size() );
Iterator iter = artifacts.iterator();
if ( iter.hasNext() )
@@ -211,7 +213,7 @@
// search group id
qry = new SinglePhraseQuery( RepositoryIndex.FLD_GROUPID, "org.apache.maven" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifacts.size() );
iter = artifacts.iterator();
if ( iter.hasNext() )
@@ -223,7 +225,7 @@
// search artifact id
qry = new SinglePhraseQuery( RepositoryIndex.FLD_ARTIFACTID, "maven-artifact" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -234,7 +236,7 @@
// search version
qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "2" );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifacts.size() );
for ( iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -250,7 +252,7 @@
String sha1 = digester.createChecksum( artifact.getFile(), Digester.SHA1 );
qry = new SinglePhraseQuery( RepositoryIndex.FLD_SHA1, sha1.trim() );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -263,7 +265,7 @@
// search md5 checksum
String md5 = digester.createChecksum( artifact.getFile(), Digester.MD5 );
qry = new SinglePhraseQuery( RepositoryIndex.FLD_MD5, md5.trim() );
- artifacts = repoSearchLayer.searchAdvanced( qry );
+ artifacts = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifacts.size() );
for ( iter = artifacts.iterator(); iter.hasNext(); )
{
@@ -287,9 +289,9 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
ArtifactRepositoryIndex indexer = factory.createArtifactRepositoryIndex( indexPath, repository );
- //RepositoryIndexSearcher repoSearchLayer = factory.createDefaultRepositoryIndexSearcher( indexer );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
// Criteria 1: required query
// ex. artifactId=maven-artifact AND groupId=org.apache.maven
@@ -299,7 +301,7 @@
rQry.and( qry1 );
rQry.and( qry2 );
- List artifacts = repoSearchLayer.searchAdvanced( rQry );
+ List artifacts = repoSearchLayer.searchAdvanced( rQry, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -316,7 +318,7 @@
oQry.or( rQry );
oQry.or( qry3 );
- artifacts = repoSearchLayer.searchAdvanced( oQry );
+ artifacts = repoSearchLayer.searchAdvanced( oQry, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -345,7 +347,7 @@
rQry2.and( rQry );
rQry2.or( oQry5 );
- artifacts = repoSearchLayer.searchAdvanced( rQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( rQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -369,7 +371,7 @@
oQry2.and( rQry2 );
oQry2.and( rQry3 );
- artifacts = repoSearchLayer.searchAdvanced( oQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( oQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -392,7 +394,7 @@
rQry4.and( qry8 );
oQry2.and( rQry4 );
- artifacts = repoSearchLayer.searchAdvanced( oQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( oQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -415,14 +417,15 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
ArtifactRepositoryIndex indexer = factory.createArtifactRepositoryIndex( indexPath, repository );
- // RepositoryIndexSearcher repoSearchLayer = factory.createDefaultRepositoryIndexSearcher( indexer );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
try
{
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "~~~~~" );
- repoSearchLayer.searchAdvanced( qry );
+ repoSearchLayer.searchAdvanced( qry, indexer );
fail( "Must throw an exception on unparseable query." );
}
catch ( RepositoryIndexSearchException re )
@@ -431,12 +434,11 @@
}
indexer = factory.createArtifactRepositoryIndex( "target/index/sample", repository );
- repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
try
{
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "1.0" );
- repoSearchLayer.searchAdvanced( qry );
+ repoSearchLayer.searchAdvanced( qry, indexer );
fail( "Must throw an exception on invalid index location." );
}
catch ( RepositoryIndexSearchException re )
@@ -457,15 +459,16 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearcher repoSearcher = (RepositoryIndexSearcher) lookup( RepositoryIndexSearcher.ROLE );
+
ArtifactRepositoryIndex indexer = factory.createArtifactRepositoryIndex( indexPath, repository );
Artifact artifact = getArtifact( "org.apache.maven", "maven-artifact", "2.0.1" );
artifact.setFile( new File( repository.getBasedir(), repository.pathOf( artifact ) ) );
indexer.deleteDocument( RepositoryIndex.FLD_ID, RepositoryIndex.ARTIFACT + artifact.getId() );
- RepositoryIndexSearcher repoSearcher = factory.createDefaultRepositoryIndexSearcher( indexer );
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_ID, RepositoryIndex.ARTIFACT + artifact.getId() );
- List artifacts = repoSearcher.search( qry );
+ List artifacts = repoSearcher.search( qry, indexer );
assertEquals( 0, artifacts.size() );
}
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/MetadataRepositoryIndexingTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/MetadataRepositoryIndexingTest.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/MetadataRepositoryIndexingTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/MetadataRepositoryIndexingTest.java Wed Jun 7 20:54:06 2006
@@ -137,13 +137,14 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
MetadataRepositoryIndex indexer = factory.createMetadataRepositoryIndex( indexPath, repository );
- //RepositoryIndexSearcher repoSearchLayer = factory.createDefaultRepositoryIndexSearcher( indexer );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
// search last update
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_LASTUPDATE, "20051212044643" );
- List metadataList = repoSearchLayer.searchAdvanced( qry );
+ List metadataList = repoSearchLayer.searchAdvanced( qry, indexer );
//assertEquals( 1, metadataList.size() );
for ( Iterator iter = metadataList.iterator(); iter.hasNext(); )
{
@@ -159,7 +160,7 @@
// search plugin prefix
qry = new SinglePhraseQuery( RepositoryIndex.FLD_PLUGINPREFIX, "org.apache.maven" );
- metadataList = repoSearchLayer.searchAdvanced( qry );
+ metadataList = repoSearchLayer.searchAdvanced( qry, indexer );
//assertEquals( 1, metadataList.size() );
for ( Iterator iter = metadataList.iterator(); iter.hasNext(); )
{
@@ -184,7 +185,7 @@
rQry.addQuery( qry1 );
rQry.addQuery( qry2 );
- metadataList = repoSearchLayer.searchAdvanced( rQry );
+ metadataList = repoSearchLayer.searchAdvanced( rQry, indexer );
for ( Iterator iter = metadataList.iterator(); iter.hasNext(); )
{
RepositoryIndexSearchHit hit = (RepositoryIndexSearchHit) iter.next();
@@ -204,7 +205,7 @@
rQry.addQuery( qry1 );
rQry.addQuery( qry2 );
- metadataList = repoSearchLayer.searchAdvanced( rQry );
+ metadataList = repoSearchLayer.searchAdvanced( rQry, indexer );
assertEquals( 0, metadataList.size() );
indexer.close();
@@ -256,15 +257,16 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearcher repoSearcher = (RepositoryIndexSearcher) lookup( RepositoryIndexSearcher.ROLE );
+
MetadataRepositoryIndex indexer = factory.createMetadataRepositoryIndex( indexPath, repository );
RepositoryMetadata repoMetadata = new GroupRepositoryMetadata( "org.apache.maven" );
repoMetadata.setMetadata( readMetadata( repoMetadata ) );
indexer.deleteDocument( RepositoryIndex.FLD_ID, (String) repoMetadata.getKey() );
- RepositoryIndexSearcher repoSearcher = factory.createDefaultRepositoryIndexSearcher( indexer );
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_ID, (String) repoMetadata.getKey() );
- List metadataList = repoSearcher.search( qry );
+ List metadataList = repoSearcher.search( qry, indexer );
assertEquals( 0, metadataList.size() );
}
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/PomRepositoryIndexingTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/PomRepositoryIndexingTest.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/PomRepositoryIndexingTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/PomRepositoryIndexingTest.java Wed Jun 7 20:54:06 2006
@@ -122,13 +122,14 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
PomRepositoryIndex indexer = factory.createPomRepositoryIndex( indexPath, repository );
- //RepositoryIndexSearcher repoSearchLayer = factory.createDefaultRepositoryIndexSearcher( indexer );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
// search version
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "1.0" );
- List artifactList = repoSearchLayer.searchAdvanced( qry );
+ List artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( Iterator iter = artifactList.iterator(); iter.hasNext(); )
{
@@ -139,7 +140,7 @@
// search group id
qry = new SinglePhraseQuery( RepositoryIndex.FLD_GROUPID, "org.apache.maven" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifactList.size() );
Iterator artifacts = artifactList.iterator();
if ( artifacts.hasNext() )
@@ -151,7 +152,7 @@
// search artifact id
qry = new SinglePhraseQuery( RepositoryIndex.FLD_ARTIFACTID, "maven-artifact" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -162,7 +163,7 @@
// search version
qry = new SinglePhraseQuery( RepositoryIndex.FLD_VERSION, "2" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -173,7 +174,7 @@
// search packaging
qry = new SinglePhraseQuery( RepositoryIndex.FLD_PACKAGING, "jar" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 3, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -186,7 +187,7 @@
//search license url
qry =
new SinglePhraseQuery( RepositoryIndex.FLD_LICENSE_URLS, "http://www.apache.org/licenses/LICENSE-2.0.txt" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -201,7 +202,7 @@
//search dependencies
qry = new SinglePhraseQuery( RepositoryIndex.FLD_DEPENDENCIES, "org.codehaus.plexus:plexus-utils:1.0.5" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 2, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -225,7 +226,7 @@
//search build plugin
qry =
new SinglePhraseQuery( RepositoryIndex.FLD_PLUGINS_BUILD, "org.codehaus.modello:modello-maven-plugin:2.0" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -249,7 +250,7 @@
//search reporting plugin
qry = new SinglePhraseQuery( RepositoryIndex.FLD_PLUGINS_REPORT,
"org.apache.maven.plugins:maven-checkstyle-plugin:2.0" );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -276,7 +277,7 @@
String sha1 = digester.createChecksum( artifact.getFile(), Digester.SHA1 );
qry = new SinglePhraseQuery( RepositoryIndex.FLD_SHA1, sha1.trim() );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -289,7 +290,7 @@
// search md5 checksum
String md5 = digester.createChecksum( getPomFile( artifact ), Digester.MD5 );
qry = new SinglePhraseQuery( RepositoryIndex.FLD_MD5, md5.trim() );
- artifactList = repoSearchLayer.searchAdvanced( qry );
+ artifactList = repoSearchLayer.searchAdvanced( qry, indexer );
assertEquals( 1, artifactList.size() );
for ( artifacts = artifactList.iterator(); artifacts.hasNext(); )
{
@@ -313,9 +314,10 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer repoSearchLayer =
+ (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
PomRepositoryIndex indexer = factory.createPomRepositoryIndex( indexPath, repository );
- //RepositoryIndexSearcher repoSearchLayer = factory.createDefaultRepositoryIndexSearcher( indexer );
- RepositoryIndexSearchLayer repoSearchLayer = factory.createRepositoryIndexSearchLayer( indexer );
// Criteria 1: required query
// ex. artifactId=maven-artifact AND groupId=org.apache.maven
@@ -325,7 +327,7 @@
rQry.and( qry1 );
rQry.and( qry2 );
- List artifacts = repoSearchLayer.searchAdvanced( rQry );
+ List artifacts = repoSearchLayer.searchAdvanced( rQry, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -342,7 +344,7 @@
oQry.and( rQry );
oQry.or( qry3 );
- artifacts = repoSearchLayer.searchAdvanced( oQry );
+ artifacts = repoSearchLayer.searchAdvanced( oQry, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -373,7 +375,7 @@
rQry2.and( rQry );
rQry2.and( oQry5 );
- artifacts = repoSearchLayer.searchAdvanced( rQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( rQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -397,7 +399,7 @@
oQry2.and( rQry2 );
oQry2.and( rQry3 );
- artifacts = repoSearchLayer.searchAdvanced( oQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( oQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -420,7 +422,7 @@
rQry4.and( qry8 );
oQry2.and( rQry4 );
- artifacts = repoSearchLayer.searchAdvanced( oQry2 );
+ artifacts = repoSearchLayer.searchAdvanced( oQry2, indexer );
for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -477,13 +479,15 @@
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearcher repoSearcher = (RepositoryIndexSearcher) lookup( RepositoryIndexSearcher.ROLE );
+
PomRepositoryIndex indexer = factory.createPomRepositoryIndex( indexPath, repository );
+
Model pom = getPom( "org.apache.maven", "maven-artifact", "2.0.1" );
indexer.deleteDocument( RepositoryIndex.FLD_ID, RepositoryIndex.POM + pom.getId() );
- RepositoryIndexSearcher repoSearcher = factory.createDefaultRepositoryIndexSearcher( indexer );
Query qry = new SinglePhraseQuery( RepositoryIndex.FLD_ID, RepositoryIndex.POM + pom.getId() );
- List artifactList = repoSearcher.search( qry );
+ List artifactList = repoSearcher.search( qry, indexer );
assertEquals( 0, artifactList.size() );
}
Modified: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayerTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayerTest.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayerTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/RepositoryIndexSearchLayerTest.java Wed Jun 7 20:54:06 2006
@@ -169,10 +169,11 @@
{
createTestIndex();
RepositoryIndexingFactory factory = (RepositoryIndexingFactory) lookup( RepositoryIndexingFactory.ROLE );
+ RepositoryIndexSearchLayer searchLayer = (RepositoryIndexSearchLayer) lookup( RepositoryIndexSearchLayer.ROLE );
+
ArtifactRepositoryIndex indexer = factory.createArtifactRepositoryIndex( indexPath, repository );
- RepositoryIndexSearchLayer searchLayer = factory.createRepositoryIndexSearchLayer( indexer );
- List returnList = searchLayer.searchGeneral( "org.apache.maven" );
+ List returnList = searchLayer.searchGeneral( "org.apache.maven", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -193,7 +194,7 @@
}
//POM license urls
- returnList = searchLayer.searchGeneral( "http://www.apache.org/licenses/LICENSE-2.0.txt" );
+ returnList = searchLayer.searchGeneral( "http://www.apache.org/licenses/LICENSE-2.0.txt", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -214,7 +215,7 @@
}
//POM dependency
- returnList = searchLayer.searchGeneral( "org.codehaus.plexus:plexus-utils:1.0.5" );
+ returnList = searchLayer.searchGeneral( "org.codehaus.plexus:plexus-utils:1.0.5", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -235,7 +236,7 @@
}
// POM reporting plugin
- returnList = searchLayer.searchGeneral( "org.apache.maven.plugins:maven-checkstyle-plugin:2.0" );
+ returnList = searchLayer.searchGeneral( "org.apache.maven.plugins:maven-checkstyle-plugin:2.0", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -257,7 +258,7 @@
}
// POM build plugin
- returnList = searchLayer.searchGeneral( "org.codehaus.modello:modello-maven-plugin:2.0" );
+ returnList = searchLayer.searchGeneral( "org.codehaus.modello:modello-maven-plugin:2.0", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -278,7 +279,7 @@
}
//maven-artifact-2.0.1.jar MD5 checksum
- returnList = searchLayer.searchGeneral( "F5A934ABBBC70A33136D89A996B9D5C09F652766" );
+ returnList = searchLayer.searchGeneral( "F5A934ABBBC70A33136D89A996B9D5C09F652766", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -296,7 +297,7 @@
}
//maven-artifact-2.0.1.jar SHA1 checksum
- returnList = searchLayer.searchGeneral( "AE55D9B5720E11B6CF19FE1E31A42E51" );
+ returnList = searchLayer.searchGeneral( "AE55D9B5720E11B6CF19FE1E31A42E51", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -313,7 +314,7 @@
}
//packaging jar
- returnList = searchLayer.searchGeneral( "jar" );
+ returnList = searchLayer.searchGeneral( "jar", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
@@ -329,14 +330,14 @@
}
}
- returnList = searchLayer.searchGeneral( "test" );
+ returnList = searchLayer.searchGeneral( "test", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
assertEquals( "test", result.getArtifact().getGroupId() );
}
- returnList = searchLayer.searchGeneral( "test-artifactId" );
+ returnList = searchLayer.searchGeneral( "test-artifactId", indexer );
for ( Iterator iter = returnList.iterator(); iter.hasNext(); )
{
SearchResult result = (SearchResult) iter.next();
Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/GeneralSearchAction.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/GeneralSearchAction.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/GeneralSearchAction.java (original)
+++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/GeneralSearchAction.java Wed Jun 7 20:54:06 2006
@@ -50,6 +50,11 @@
/**
* @plexus.requirement
*/
+ private RepositoryIndexSearchLayer searchLayer;
+
+ /**
+ * @plexus.requirement
+ */
private ArtifactRepositoryFactory repositoryFactory;
/**
@@ -74,9 +79,7 @@
ArtifactRepositoryIndex index = factory.createArtifactRepositoryIndex( indexPath, repository );
- RepositoryIndexSearchLayer searchLayer = factory.createRepositoryIndexSearchLayer( index );
-
- searchResult = searchLayer.searchGeneral( searchString );
+ searchResult = searchLayer.searchGeneral( searchString, index );
return SUCCESS;
}
Modified: maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/PackageSearchAction.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/PackageSearchAction.java?rev=412642&r1=412641&r2=412642&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/PackageSearchAction.java (original)
+++ maven/repository-manager/trunk/maven-repository-webapp/src/main/java/org/apache/maven/repository/manager/web/action/PackageSearchAction.java Wed Jun 7 20:54:06 2006
@@ -60,6 +60,11 @@
/**
* @plexus.requirement
*/
+ private RepositoryIndexSearchLayer searchLayer;
+
+ /**
+ * @plexus.requirement
+ */
private Configuration configuration;
public String execute()
@@ -94,9 +99,7 @@
ArtifactRepositoryIndex index = factory.createArtifactRepositoryIndex( indexPath, repository );
- RepositoryIndexSearchLayer searchLayer = factory.createRepositoryIndexSearchLayer( index );
-
- searchResult = searchLayer.searchAdvanced( new SinglePhraseQuery( key, searchTerm ) );
+ searchResult = searchLayer.searchAdvanced( new SinglePhraseQuery( key, searchTerm ), index );
return SUCCESS;
}