Author: oching
Date: Thu Jul 10 00:47:38 2008
New Revision: 675469

URL: http://svn.apache.org/viewvc?rev=675469&view=rev
Log:
[MRM-861]
-fix search results hits count

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/filecontent/FileContentRecord.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/search/DefaultCrossRepositorySearch.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/results.jsp

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/filecontent/FileContentRecord.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/filecontent/FileContentRecord.java?rev=675469&r1=675468&r2=675469&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/filecontent/FileContentRecord.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/filecontent/FileContentRecord.java
 Thu Jul 10 00:47:38 2008
@@ -64,7 +64,7 @@
 
     public String getPrimaryKey()
     {
-        return filename;
+        return repositoryId + ":" + filename;
     }
 
     public int hashCode()

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/search/DefaultCrossRepositorySearch.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/search/DefaultCrossRepositorySearch.java?rev=675469&r1=675468&r2=675469&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/search/DefaultCrossRepositorySearch.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/search/DefaultCrossRepositorySearch.java
 Thu Jul 10 00:47:38 2008
@@ -199,7 +199,7 @@
             if ( offset < hitCount )
             {
                 // only process if the offset is within the hit count.
-                for ( int i = 0; i <= fetchCount; i++ )
+                for ( int i = 0; i < fetchCount; i++ )
                 {
                     // Stop fetching if we are past the total # of available 
hits.
                     if ( offset + i >= hitCount )

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java?rev=675469&r1=675468&r2=675469&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 Thu Jul 10 00:47:38 2008
@@ -34,8 +34,11 @@
 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.security.*;
+import org.apache.maven.archiva.security.AccessDeniedException;
+import org.apache.maven.archiva.security.ArchivaSecurityException;
 import org.apache.maven.archiva.security.ArchivaXworkUser;
+import org.apache.maven.archiva.security.PrincipalNotFoundException;
+import org.apache.maven.archiva.security.UserRepositories;
 import org.codehaus.plexus.xwork.action.PlexusActionSupport;
 
 /**
@@ -45,7 +48,7 @@
  */
 public class SearchAction
     extends PlexusActionSupport
-{   
+{           
     /**
      * Query string.
      */
@@ -101,7 +104,7 @@
         }
 
         results = crossRepoSearch.searchForTerm( getPrincipal(), 
selectedRepos, q, limits );
-
+        
         if ( results.isEmpty() )
         {
             addActionError( "No results found" );
@@ -110,6 +113,10 @@
         
         totalPages = results.getTotalHits() / limits.getPageSize();
         
+        if( (results.getTotalHits() % limits.getPageSize()) != 0 )
+        {
+            totalPages = totalPages + 1;
+        }
         // TODO: filter / combine the artifacts by version? (is that even 
possible with non-artifact hits?)
 
         /* I don't think that we should, as I expect us to utilize the 'score' 
system in lucene in 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/results.jsp
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/results.jsp?rev=675469&r1=675468&r2=675469&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/results.jsp
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/results.jsp
 Thu Jul 10 00:47:38 2008
@@ -49,8 +49,8 @@
 
       <%-- search was made from the indices --%>
       <c:when test="${databaseResults == null}">
-        <c:set var="hitsNum">${fn:length(results.hits) + (currentPage * 
31)}</c:set>
-        <p>Hits: ${hitsNum - 30} to ${hitsNum} of ${results.totalHits}</p>
+        <c:set var="hitsNum">${fn:length(results.hits) + (currentPage * 
results.limits.pageSize)}</c:set>
+        <p>Hits: ${(hitsNum - results.limits.pageSize) + 1} to ${hitsNum} of 
${results.totalHits}</p>
         
         <c:choose>
           <c:when test="${empty results.hits}">


Reply via email to