Collection<Component> components();
Paging paging();
+
+ boolean securityExclusions();
}
Results find(IssueQuery query, @Nullable Integer currentUserId, String role);
}
}
- return new DefaultResults(issues, getRulesByIssue(issues, ruleIds), getComponentsByIssue(issues, componentIds), paging);
+ return new DefaultResults(issues, getRulesByIssue(issues, ruleIds), getComponentsByIssue(issues, componentIds), paging, authorizedIssues.size() != allIssuesDto.size());
} finally {
MyBatis.closeQuietly(sqlSession);
}
private final Paging paging;
private final Map<Issue, Rule> rulesByIssue;
private final Map<Issue, Component> componentsByIssue;
+ private final boolean securityExclusions;
- DefaultResults(List<Issue> issues, Map<Issue, Rule> rulesByIssue, Map<Issue, Component> componentsByIssue, Paging paging) {
+ DefaultResults(List<Issue> issues, Map<Issue, Rule> rulesByIssue, Map<Issue, Component> componentsByIssue, Paging paging, boolean securityExclusions) {
this.issues = issues;
this.rulesByIssue = rulesByIssue;
this.componentsByIssue = componentsByIssue;
this.paging = paging;
+ this.securityExclusions = securityExclusions;
}
@Override
return componentsByIssue.values();
}
+ public boolean securityExclusions() {
+ return securityExclusions;
+ }
+
public Paging paging() {
return paging;
}
json = {}
json[:issues] = results.issues.map { |issue| issue_to_json(issue) }
json[:paging] = pagination_to_json(results.paging)
+ json[:securityExclusions] = results.securityExclusions
json
end
Issue issue = results.issues().iterator().next();
assertThat(issue.componentKey()).isEqualTo("Action.java");
assertThat(issue.ruleKey().toString()).isEqualTo("squid:AvoidCycle");
+ assertThat(results.securityExclusions()).isFalse();
}
@Test
when(authorizationDao.keepAuthorizedComponentIds(anySet(), anyInt(), anyString(), any(SqlSession.class))).thenReturn(newHashSet(123));
when(issueDao.selectByIds(anyCollection(), any(SqlSession.class))).thenReturn(newArrayList(issue1));
- finder.find(issueQuery, null, UserRole.USER);
+ IssueFinder.Results results = finder.find(issueQuery, null, UserRole.USER);
verify(issueDao).selectByIds(eq(newHashSet(1L)), any(SqlSession.class));
+ assertThat(results.securityExclusions()).isTrue();
}
@Test
package org.sonar.wsclient.issue;
import org.json.simple.JSONValue;
+import org.sonar.wsclient.unmarshallers.JsonUtils;
import java.util.List;
import java.util.Map;
}
Map paging = (Map) jRoot.get("paging");
result.setPaging(new Paging(paging));
+
+ result.setSecurityExclusions(JsonUtils.getBoolean(jRoot, "securityExclusions"));
return result;
}
}
private final List<Issue> list = new ArrayList<Issue>();
private Paging paging;
+ private Boolean securityExclusions;
Issues add(Issue issue) {
list.add(issue);
return list;
}
- void setPaging(Paging paging) {
+ Issues setPaging(Paging paging) {
this.paging = paging;
+ return this;
}
public Paging paging(){
return paging;
}
+ public Boolean securityExclusions() {
+ return securityExclusions;
+ }
+
+ Issues setSecurityExclusions(Boolean securityExclusions) {
+ this.securityExclusions = securityExclusions;
+ return this;
+ }
}
assertThat(second.description()).isNull();
assertThat(second.attribute("JIRA")).isNull();
assertThat(second.attributes()).isEmpty();
+
+ assertThat(issues.paging()).isNotNull();
+ Paging paging = issues.paging();
+ assertThat(paging.pageIndex()).isEqualTo(1);
+ assertThat(paging.pageSize()).isEqualTo(100);
+ assertThat(paging.pages()).isEqualTo(1);
+ assertThat(paging.total()).isEqualTo(2);
+
+ assertThat(issues.securityExclusions()).isTrue();
}
+
}
"status": "OPEN"
}
],
- "pagination":
+ "paging":
{
- "page": 1,
- "limit": 100,
- "size": 2,
+ "pageIndex": 1,
+ "pageSize": 100,
+ "total": 2,
"pages": 1
- }
+ },
+ "securityExclusions": true
}
\ No newline at end of file