json
.prop("key", issue.key())
.prop("component", issue.componentKey())
+ .prop("componentLongName", result.component(issue).longName())
+ .prop("componentQualifier", result.component(issue).qualifier())
.prop("project", result.project(issue).key())
+ .prop("projectLongName", result.project(issue).longName())
.prop("rule", issue.ruleKey().toString())
.prop("ruleName", result.rule(issue).getName())
.prop("line", issue.line())
public void setUp() throws Exception {
issues = new ArrayList<Issue>();
result = new DefaultIssueQueryResult(issues);
+
Component component = mock(Component.class);
- when(component.key()).thenReturn("org.sonar.Sonar");
- result.addProjects(newArrayList(component));
+ when(component.key()).thenReturn("org.sonar.server.issue.IssueClient");
+ when(component.longName()).thenReturn("SonarQube :: Issue Client");
+ when(component.qualifier()).thenReturn("FIL");
+ result.addComponents(newArrayList(component));
+ Component project = mock(Component.class);
+ when(project.key()).thenReturn("org.sonar.Sonar");
+ when(project.longName()).thenReturn("SonarQube");
+ result.addProjects(newArrayList(project));
+
result.addRules(newArrayList(Rule.create("squid", "AvoidCycle").setName("Avoid cycle")));
when(issueFinder.find(any(IssueQuery.class))).thenReturn(result);
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"line": 12,
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"actionPlan" : "AP-ABCD",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"status": "OPEN",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"status": "OPEN",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"status": "OPEN",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"creationDate": "2014-01-22T19:10:03+0100",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"creationDate": "2014-01-22T19:10:03+0100",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"creationDate": "2014-01-22T19:10:03+0100",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"status": "OPEN",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"debt": "2 hours 1 minutes",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"status": "RESOLVED",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"assignee": "john",
"issue": {
"key": "ABCD",
"component": "org.sonar.server.issue.IssueClient",
+ "componentLongName": "SonarQube :: Issue Client",
+ "componentQualifier": "FIL",
"project": "org.sonar.Sonar",
+ "projectLongName": "SonarQube",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",
"assignee": "john",