Author: oching
Date: Tue Feb 3 09:28:37 2009
New Revision: 740257
URL: http://svn.apache.org/viewvc?rev=740257&view=rev
Log:
[MRM-749]
o use nexus search impl in xmlrpc search service
Modified:
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
Modified:
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml?rev=740257&r1=740256&r2=740257&view=diff
==============================================================================
---
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
(original)
+++
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
Tue Feb 3 09:28:37 2009
@@ -39,15 +39,11 @@
</bean>
<!-- Web Services : Search Service -->
- <bean name="searchService" lazy-init="true" scope="singleton"
class="org.apache.archiva.web.xmlrpc.services.SearchServiceImpl">
- <!--
- <constructor-arg ref="archivaConfiguration"/>
- <constructor-arg ref="repositoryContentFactory"/>
- -->
- <constructor-arg ref="xmlRpcUserRepositories"/>
- <constructor-arg ref="crossRepositorySearch"/>
+ <bean name="searchService" lazy-init="true" scope="singleton"
class="org.apache.archiva.web.xmlrpc.services.SearchServiceImpl">
+ <constructor-arg ref="xmlRpcUserRepositories"/>
<constructor-arg ref="archivaDAO#jdo"/>
<constructor-arg ref="repositoryBrowsing"/>
+ <constructor-arg ref="nexusSearch"/>
</bean>
<!-- Web Services : Administration Service -->
Modified:
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java?rev=740257&r1=740256&r2=740257&view=diff
==============================================================================
---
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
(original)
+++
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
Tue Feb 3 09:28:37 2009
@@ -23,7 +23,7 @@
import java.util.Date;
import java.util.List;
-import org.apache.archiva.indexer.util.SearchUtil;
+import org.apache.archiva.indexer.search.RepositorySearch;
import org.apache.archiva.web.xmlrpc.api.SearchService;
import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
@@ -34,7 +34,6 @@
import org.apache.maven.archiva.database.browsing.BrowsingResults;
import org.apache.maven.archiva.database.browsing.RepositoryBrowsing;
import
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
-import org.apache.maven.archiva.indexer.search.CrossRepositorySearch;
import org.apache.maven.archiva.indexer.search.SearchResultHit;
import org.apache.maven.archiva.indexer.search.SearchResultLimits;
import org.apache.maven.archiva.indexer.search.SearchResults;
@@ -49,8 +48,7 @@
public class SearchServiceImpl
implements SearchService
{
-
- private CrossRepositorySearch crossRepoSearch;
+ private RepositorySearch search;
private XmlRpcUserRepositories xmlRpcUserRepositories;
@@ -58,13 +56,13 @@
private RepositoryBrowsing repoBrowsing;
- public SearchServiceImpl( XmlRpcUserRepositories xmlRpcUserRepositories,
CrossRepositorySearch crossRepoSearch,
- ArchivaDAO archivaDAO, RepositoryBrowsing
repoBrowsing )
+ public SearchServiceImpl( XmlRpcUserRepositories xmlRpcUserRepositories,
ArchivaDAO archivaDAO,
+ RepositoryBrowsing repoBrowsing,
RepositorySearch search )
{
this.xmlRpcUserRepositories = xmlRpcUserRepositories;
- this.crossRepoSearch = crossRepoSearch;
this.archivaDAO = archivaDAO;
this.repoBrowsing = repoBrowsing;
+ this.search = search;
}
/*
@@ -89,15 +87,8 @@
SearchResultLimits limits = new SearchResultLimits(
SearchResultLimits.ALL_PAGES );
SearchResults results = null;
- if( SearchUtil.isBytecodeSearch( queryString ) )
- {
- results = crossRepoSearch.searchForBytecode( "", observableRepos,
SearchUtil.removeBytecodeKeyword( queryString ), limits );
- }
- else
- {
- results = crossRepoSearch.searchForTerm( "", observableRepos,
queryString, limits );
- }
-
+ results = search.search( "", observableRepos, queryString, limits,
null );
+
List<SearchResultHit> hits = results.getHits();
for( SearchResultHit hit : hits )
{
Modified:
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java?rev=740257&r1=740256&r2=740257&view=diff
==============================================================================
---
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
(original)
+++
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
Tue Feb 3 09:28:37 2009
@@ -20,20 +20,15 @@
*/
-import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import org.apache.archiva.indexer.search.RepositorySearch;
import org.apache.archiva.web.xmlrpc.api.SearchService;
import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
-import org.apache.archiva.web.xmlrpc.security.XmlRpcAuthenticator;
import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.FileTypes;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.database.ArchivaDAO;
import org.apache.maven.archiva.database.ArtifactDAO;
import org.apache.maven.archiva.database.ObjectNotFoundException;
@@ -41,33 +36,14 @@
import org.apache.maven.archiva.database.browsing.RepositoryBrowsing;
import
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
import org.apache.maven.archiva.indexer.filecontent.FileContentRecord;
-import org.apache.maven.archiva.indexer.lucene.LuceneRepositoryContentRecord;
-import org.apache.maven.archiva.indexer.search.CrossRepositorySearch;
import org.apache.maven.archiva.indexer.search.SearchResultLimits;
import org.apache.maven.archiva.indexer.search.SearchResults;
import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.ArchivaArtifactModel;
import org.apache.maven.archiva.model.ArchivaProjectModel;
-import org.apache.maven.archiva.model.ArtifactReference;
-import org.apache.maven.archiva.repository.ManagedRepositoryContent;
-import org.apache.maven.archiva.repository.RepositoryContentFactory;
-import
org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent;
-import org.apache.maven.archiva.repository.content.PathParser;
-import org.apache.maven.archiva.security.ArchivaRoleConstants;
-import org.apache.xmlrpc.XmlRpcRequest;
-import org.apache.xmlrpc.common.XmlRpcHttpRequestConfigImpl;
-import org.codehaus.plexus.redback.role.RoleManager;
-import org.codehaus.plexus.redback.system.SecuritySystem;
-import org.codehaus.plexus.redback.users.User;
-import org.codehaus.plexus.redback.users.UserManager;
-import org.codehaus.plexus.redback.users.UserNotFoundException;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-import org.easymock.ArgumentsMatcher;
import org.easymock.MockControl;
import org.easymock.classextension.MockClassControl;
-import sun.security.action.GetLongAction;
-
/**
* SearchServiceImplTest
*
@@ -82,10 +58,10 @@
private XmlRpcUserRepositories userRepos;
- private MockControl crossRepoSearchControl;
-
- private CrossRepositorySearch crossRepoSearch;
+ private MockControl searchControl;
+ private RepositorySearch search;
+
private MockControl archivaDAOControl;
private ArchivaDAO archivaDAO;
@@ -103,17 +79,17 @@
{
userReposControl = MockClassControl.createControl(
XmlRpcUserRepositories.class );
userRepos = ( XmlRpcUserRepositories ) userReposControl.getMock();
-
- crossRepoSearchControl = MockControl.createControl(
CrossRepositorySearch.class );
- crossRepoSearch = ( CrossRepositorySearch )
crossRepoSearchControl.getMock();
-
+
archivaDAOControl = MockControl.createControl( ArchivaDAO.class );
archivaDAO = ( ArchivaDAO ) archivaDAOControl.getMock();
repoBrowsingControl = MockControl.createControl(
RepositoryBrowsing.class );
repoBrowsing = ( RepositoryBrowsing ) repoBrowsingControl.getMock();
- searchService = new SearchServiceImpl( userRepos, crossRepoSearch,
archivaDAO, repoBrowsing );
+ searchControl = MockControl.createControl( RepositorySearch.class );
+ search = ( RepositorySearch ) searchControl.getMock();
+
+ searchService = new SearchServiceImpl( userRepos, archivaDAO,
repoBrowsing, search );
artifactDAOControl = MockControl.createControl( ArtifactDAO.class );
artifactDAO = ( ArtifactDAO ) artifactDAOControl.getMock();
@@ -158,21 +134,20 @@
SearchResultLimits limits = new SearchResultLimits(
SearchResultLimits.ALL_PAGES );
- crossRepoSearchControl.expectAndDefaultReturn(
- crossRepoSearch.searchForBytecode( "", observableRepoIds,
"MyClassName", limits ), results );
-
+ searchControl.expectAndDefaultReturn( search.search( "",
observableRepoIds, "MyClassName", limits, null ), results );
+
archivaDAOControl.expectAndReturn( archivaDAO.getArtifactDAO(),
artifactDAO );
artifactDAOControl.expectAndReturn( artifactDAO.getArtifact(
"org.apache.archiva", "archiva-test", "1.0", "", "pom" ), artifact );
userReposControl.replay();
- crossRepoSearchControl.replay();
+ searchControl.replay();
archivaDAOControl.replay();
artifactDAOControl.replay();
List<Artifact> artifacts = searchService.quickSearch(
"bytecode:MyClassName" );
userReposControl.verify();
- crossRepoSearchControl.verify();
+ searchControl.verify();
archivaDAOControl.verify();
artifactDAOControl.verify();
@@ -203,21 +178,20 @@
SearchResultLimits limits = new SearchResultLimits(
SearchResultLimits.ALL_PAGES );
- crossRepoSearchControl.expectAndDefaultReturn(
- crossRepoSearch.searchForTerm( "", observableRepoIds,
"archiva", limits ), results );
-
+ searchControl.expectAndDefaultReturn( search.search( "",
observableRepoIds, "archiva", limits, null ), results );
+
archivaDAOControl.expectAndReturn( archivaDAO.getArtifactDAO(),
artifactDAO );
artifactDAOControl.expectAndReturn( artifactDAO.getArtifact(
"org.apache.archiva", "archiva-test", "1.0", "", "pom" ), artifact );
userReposControl.replay();
- crossRepoSearchControl.replay();
+ searchControl.replay();
archivaDAOControl.replay();
artifactDAOControl.replay();
List<Artifact> artifacts = searchService.quickSearch( "archiva" );
userReposControl.verify();
- crossRepoSearchControl.verify();
+ searchControl.verify();
archivaDAOControl.verify();
artifactDAOControl.verify();