String projectName = project.longName() != null ? project.longName() : project.name();
// Do not display sub project long name if sub project and project are the same
boolean displaySubProjectLongName = subProject != null && !subProject.getId().equals(project.getId());
+ String subProjectKey = displaySubProjectLongName ? subProject.key() : null;
String subProjectName = displaySubProjectLongName ? subProject.longName() != null ? subProject.longName() : subProject.name() : null;
json
.prop("componentEnabled", component.isEnabled())
.prop("project", project.key())
.prop("projectName", projectName)
+ .prop("subProject", subProjectKey)
.prop("subProjectName", subProjectName);
}
"componentQualifier": "FIL",
"project": "com.sonarsource.cobol:cobol",
"projectName": "SonarSource :: Cobol",
+ "subProject": "com.sonarsource.cobol:cobol-preprocessor"
"subProjectName": "SonarSource :: Cobol :: Preprocessor",
"subCharacteristic": "Readability",
"characteristic": "Maintainability",
MockUserSession.set();
WsTester.TestRequest request = tester.newGetRequest("api/issues", "show").setParam("key", issue.key());
- System.out.println("request.execute().outputAsString() = " + request.execute().outputAsString());
request.execute().assertJson(getClass(), "show_issue_with_characteristics.json");
}
"componentEnabled": true,
"project": "org.sonar.Sonar",
"projectName": "SonarQube",
+ "subProject": "org.sonar.server.Server",
"subProjectName": "SonarQube :: Server",
"rule": "squid:AvoidCycle",
"ruleName": "Avoid cycle",