diff options
author | Maria Odea B. Ching <oching@apache.org> | 2009-02-04 02:16:11 +0000 |
---|---|---|
committer | Maria Odea B. Ching <oching@apache.org> | 2009-02-04 02:16:11 +0000 |
commit | b8f16e0c718a4aeaa529ad54cbd2f623132a8a47 (patch) | |
tree | b1b2b0ce645c9b197b964a4a0e358198c0b10c2d /archiva-modules/archiva-base/archiva-indexer | |
parent | c0e1f8872e0243918984b81c6e449765f620505a (diff) | |
download | archiva-b8f16e0c718a4aeaa529ad54cbd2f623132a8a47.tar.gz archiva-b8f16e0c718a4aeaa529ad54cbd2f623132a8a47.zip |
[MRM-933]
o set search result limits of the returned search results
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@740576 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules/archiva-base/archiva-indexer')
2 files changed, 12 insertions, 4 deletions
diff --git a/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java b/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java index 75ddecc11..f4646a96c 100644 --- a/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java +++ b/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java @@ -151,7 +151,9 @@ public class NexusRepositorySearch if( response == null || response.getTotalHits() == 0 ) { - return new SearchResults(); + SearchResults results = new SearchResults(); + results.setLimits( limits ); + return results; } return convertToSearchResults( response, limits ); @@ -272,6 +274,7 @@ public class NexusRepositorySearch } results.setTotalHits( results.getHitsMap().size() ); + results.setLimits( limits ); if( limits == null || limits.getSelectedPage() == SearchResultLimits.ALL_PAGES ) { @@ -279,13 +282,15 @@ public class NexusRepositorySearch } else { - return paginate( limits, results ); + return paginate( results ); } } - private SearchResults paginate( SearchResultLimits limits, SearchResults results ) + private SearchResults paginate( SearchResults results ) { - SearchResults paginated = new SearchResults(); + SearchResultLimits limits = results.getLimits(); + SearchResults paginated = new SearchResults(); + int fetchCount = limits.getPageSize(); int offset = ( limits.getSelectedPage() * limits.getPageSize() ); @@ -319,6 +324,7 @@ public class NexusRepositorySearch } } paginated.setTotalHits( results.getTotalHits() ); + paginated.setLimits( limits ); return paginated; } diff --git a/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java b/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java index 94967ed81..1b55c8e10 100644 --- a/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java +++ b/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java @@ -203,6 +203,7 @@ public class NexusRepositorySearchTest assertNotNull( results ); assertEquals( 1, results.getHits().size() ); assertEquals( 2, results.getTotalHits() ); + assertEquals( limits, results.getLimits() ); archivaConfigControl.reset(); @@ -221,6 +222,7 @@ public class NexusRepositorySearchTest assertNotNull( results ); assertEquals( 1, results.getHits().size() ); assertEquals( 2, results.getTotalHits() ); + assertEquals( limits, results.getLimits() ); } public void testArtifactFoundInMultipleRepositories() |