mirror of
https://github.com/SonarSource/sonarqube.git
synced 2024-08-11 14:10:17 +02:00
Fix SearchOptions#setPage(int page, int pageSize) when pageSize is zero
This commit is contained in:
parent
f32ae830af
commit
2e0239d517
@ -89,7 +89,7 @@ public class SearchOptions {
|
|||||||
* Sets the limit on the number of results to return.
|
* Sets the limit on the number of results to return.
|
||||||
*/
|
*/
|
||||||
public SearchOptions setLimit(int limit) {
|
public SearchOptions setLimit(int limit) {
|
||||||
if (limit < 0) {
|
if (limit <= 0) {
|
||||||
this.limit = MAX_LIMIT;
|
this.limit = MAX_LIMIT;
|
||||||
} else {
|
} else {
|
||||||
this.limit = Math.min(limit, MAX_LIMIT);
|
this.limit = Math.min(limit, MAX_LIMIT);
|
||||||
|
@ -61,9 +61,9 @@ public class SearchOptionsTest {
|
|||||||
@Test
|
@Test
|
||||||
public void with_zero_page_size() throws Exception {
|
public void with_zero_page_size() throws Exception {
|
||||||
SearchOptions options = new SearchOptions().setPage(1, 0);
|
SearchOptions options = new SearchOptions().setPage(1, 0);
|
||||||
assertThat(options.getLimit()).isEqualTo(0);
|
assertThat(options.getLimit()).isEqualTo(SearchOptions.MAX_LIMIT);
|
||||||
assertThat(options.getOffset()).isEqualTo(0);
|
assertThat(options.getOffset()).isEqualTo(0);
|
||||||
assertThat(options.getPage()).isEqualTo(0);
|
assertThat(options.getPage()).isEqualTo(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -786,7 +786,7 @@ public class IssueIndexMediumTest {
|
|||||||
assertThat(result.getTotal()).isEqualTo(12);
|
assertThat(result.getTotal()).isEqualTo(12);
|
||||||
|
|
||||||
result = index.search(IssueQuery.builder().build(), new SearchOptions().setOffset(2).setLimit(0));
|
result = index.search(IssueQuery.builder().build(), new SearchOptions().setOffset(2).setLimit(0));
|
||||||
assertThat(result.getDocs()).hasSize(0);
|
assertThat(result.getDocs()).hasSize(10);
|
||||||
assertThat(result.getTotal()).isEqualTo(12);
|
assertThat(result.getTotal()).isEqualTo(12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,6 +69,4 @@ public interface Issues {
|
|||||||
|
|
||||||
Paging paging();
|
Paging paging();
|
||||||
|
|
||||||
Boolean maxResultsReached();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,9 +28,11 @@ import org.sonar.wsclient.rule.Rule;
|
|||||||
import org.sonar.wsclient.user.User;
|
import org.sonar.wsclient.user.User;
|
||||||
|
|
||||||
import javax.annotation.CheckForNull;
|
import javax.annotation.CheckForNull;
|
||||||
import javax.annotation.Nullable;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.*;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @since 3.6
|
* @since 3.6
|
||||||
@ -45,7 +47,6 @@ public class DefaultIssues implements Issues {
|
|||||||
private final Map<String, Component> projectsByKey = new HashMap<String, Component>();
|
private final Map<String, Component> projectsByKey = new HashMap<String, Component>();
|
||||||
private final Map<String, ActionPlan> actionPlansByKey = new HashMap<String, ActionPlan>();
|
private final Map<String, ActionPlan> actionPlansByKey = new HashMap<String, ActionPlan>();
|
||||||
private Paging paging;
|
private Paging paging;
|
||||||
private Boolean maxResultsReached;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Issue> list() {
|
public List<Issue> list() {
|
||||||
@ -128,12 +129,6 @@ public class DefaultIssues implements Issues {
|
|||||||
return paging;
|
return paging;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nullable
|
|
||||||
public Boolean maxResultsReached() {
|
|
||||||
return maxResultsReached;
|
|
||||||
}
|
|
||||||
|
|
||||||
DefaultIssues add(Issue issue) {
|
DefaultIssues add(Issue issue) {
|
||||||
list.add(issue);
|
list.add(issue);
|
||||||
return this;
|
return this;
|
||||||
@ -169,9 +164,4 @@ public class DefaultIssues implements Issues {
|
|||||||
this.paging = paging;
|
this.paging = paging;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
DefaultIssues setMaxResultsReached(@Nullable Boolean maxResultsReached) {
|
|
||||||
this.maxResultsReached = maxResultsReached;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,6 @@ public class IssueJsonParser {
|
|||||||
private void parsePaging(DefaultIssues result, Map jsonRoot) {
|
private void parsePaging(DefaultIssues result, Map jsonRoot) {
|
||||||
Map paging = (Map) jsonRoot.get("paging");
|
Map paging = (Map) jsonRoot.get("paging");
|
||||||
result.setPaging(new Paging(paging));
|
result.setPaging(new Paging(paging));
|
||||||
result.setMaxResultsReached(JsonUtils.getBoolean(jsonRoot, "maxResultsReached"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseProjects(DefaultIssues result, Map jsonRoot) {
|
private void parseProjects(DefaultIssues result, Map jsonRoot) {
|
||||||
|
@ -84,8 +84,6 @@ public class IssueJsonParserTest {
|
|||||||
assertThat(paging.pageSize()).isEqualTo(100);
|
assertThat(paging.pageSize()).isEqualTo(100);
|
||||||
assertThat(paging.pages()).isEqualTo(1);
|
assertThat(paging.pages()).isEqualTo(1);
|
||||||
assertThat(paging.total()).isEqualTo(2);
|
assertThat(paging.total()).isEqualTo(2);
|
||||||
|
|
||||||
assertThat(issues.maxResultsReached()).isTrue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -95,7 +93,6 @@ public class IssueJsonParserTest {
|
|||||||
assertThat(issues).isNotNull();
|
assertThat(issues).isNotNull();
|
||||||
assertThat(issues.list()).isEmpty();
|
assertThat(issues.list()).isEmpty();
|
||||||
assertThat(issues.rules()).isEmpty();
|
assertThat(issues.rules()).isEmpty();
|
||||||
assertThat(issues.maxResultsReached()).isFalse();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
Reference in New Issue
Block a user