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}">