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();
         


Reply via email to