Author: oching
Date: Tue Feb  3 05:29:17 2009
New Revision: 740220

URL: http://svn.apache.org/viewvc?rev=740220&view=rev
Log:
[MRM-749]
o integrate advanced search impl of nexus search in web app

Modified:
    
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
    
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java

Modified: 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java?rev=740220&r1=740219&r2=740220&view=diff
==============================================================================
--- 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
 (original)
+++ 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
 Tue Feb  3 05:29:17 2009
@@ -54,6 +54,22 @@
      */
     private List<String> repositories = new ArrayList<String>();
     
+    public SearchFields()
+    {
+        
+    }
+    
+    public SearchFields( String groupId, String artifactId, String version, 
String packaging, String className,
+                         List<String> repositories )
+    {
+        this.groupId = groupId;
+        this.artifactId = artifactId;
+        this.version = version;
+        this.packaging = packaging;
+        this.className = className;
+        this.repositories = repositories;
+    }
+    
     public String getGroupId()
     {
         return groupId;

Modified: 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java?rev=740220&r1=740219&r2=740220&view=diff
==============================================================================
--- 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 (original)
+++ 
archiva/branches/archiva-nexus-indexer/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 Tue Feb  3 05:29:17 2009
@@ -27,6 +27,7 @@
 
 import org.apache.archiva.indexer.search.RepositorySearch;
 import org.apache.archiva.indexer.search.RepositorySearchException;
+import org.apache.archiva.indexer.search.SearchFields;
 import org.apache.archiva.indexer.util.SearchUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
@@ -198,9 +199,23 @@
             return GlobalResults.ACCESS_TO_NO_REPOS;
         }
 
-        results =
-            crossRepoSearch.executeFilteredSearch( getPrincipal(), 
selectedRepos, groupId, artifactId, version,
-                                                   className, limits );
+        SearchFields searchFields = new SearchFields( groupId, artifactId, 
version, null, className, selectedRepos );
+        
+        
+        // TODO: add packaging in the list of fields for advanced search (UI)
+        try
+        {
+            results = getNexusSearch().search( getPrincipal(), searchFields, 
limits );
+        }
+        catch ( RepositorySearchException e )
+        {
+            addActionError( e.getMessage() );
+            return ERROR;
+        }
+        
+        //results =
+        //    crossRepoSearch.executeFilteredSearch( getPrincipal(), 
selectedRepos, groupId, artifactId, version,
+        //                                           className, limits );
 
         if ( results.isEmpty() )
         {


Reply via email to