Search in sources :

Example 26 with JsonWriter

use of org.sonar.api.utils.text.JsonWriter in project sonarqube by SonarSource.

the class RepositoriesAction method handle.

@Override
public void handle(Request request, Response response) throws Exception {
    String query = request.param(Param.TEXT_QUERY);
    String languageKey = request.param(LANGUAGE);
    JsonWriter json = response.newJsonWriter().beginObject().name("repositories").beginArray();
    for (RuleRepositoryDto repo : listMatchingRepositories(query, languageKey)) {
        json.beginObject().prop("key", repo.getKey()).prop("name", repo.getName()).prop(LANGUAGE, repo.getLanguage()).endObject();
    }
    json.endArray().endObject().close();
}
Also used : RuleRepositoryDto(org.sonar.db.rule.RuleRepositoryDto) JsonWriter(org.sonar.api.utils.text.JsonWriter)

Example 27 with JsonWriter

use of org.sonar.api.utils.text.JsonWriter in project sonarqube by SonarSource.

the class TagsAction method handle.

@Override
public void handle(Request request, Response response) {
    String query = request.param(Param.TEXT_QUERY);
    int pageSize = request.mandatoryParamAsInt("ps");
    Set<String> tags = service.listTags(query, pageSize);
    JsonWriter json = response.newJsonWriter().beginObject();
    json.name("tags").beginArray();
    for (String tag : tags) {
        json.value(tag);
    }
    json.endArray().endObject().close();
}
Also used : JsonWriter(org.sonar.api.utils.text.JsonWriter)

Example 28 with JsonWriter

use of org.sonar.api.utils.text.JsonWriter in project sonarqube by SonarSource.

the class SettingsAction method handle.

@Override
public void handle(Request request, Response response) throws Exception {
    boolean isSysAdmin = userSession.isSystemAdministrator();
    JsonWriter json = response.newJsonWriter().beginObject();
    json.prop("showUpdateCenter", isSysAdmin && settings.getBoolean(WebConstants.SONAR_UPDATECENTER_ACTIVATE));
    json.name("extensions").beginArray();
    if (isSysAdmin) {
        for (Page page : pageRepository.getGlobalPages(true)) {
            json.beginObject().prop("key", page.getKey()).prop("name", page.getName()).endObject();
        }
    }
    json.endArray();
    json.endObject().close();
}
Also used : Page(org.sonar.api.web.page.Page) JsonWriter(org.sonar.api.utils.text.JsonWriter)

Example 29 with JsonWriter

use of org.sonar.api.utils.text.JsonWriter in project sonarqube by SonarSource.

the class WebServiceEngine method sendErrors.

private static void sendErrors(Response response, int status, List<String> errors) {
    Response.Stream stream = response.stream();
    if (stream instanceof ServletResponse.ServletStream) {
        ((ServletResponse.ServletStream) stream).reset();
    }
    stream.setStatus(status);
    stream.setMediaType(MediaTypes.JSON);
    try (JsonWriter json = JsonWriter.of(new OutputStreamWriter(stream.output(), StandardCharsets.UTF_8))) {
        json.beginObject();
        writeErrors(json, errors);
        json.endObject();
    } catch (Exception e) {
        // Do not hide the potential exception raised in the try block.
        throw Throwables.propagate(e);
    }
}
Also used : Response(org.sonar.api.server.ws.Response) OutputStreamWriter(java.io.OutputStreamWriter) JsonWriter(org.sonar.api.utils.text.JsonWriter) ServerException(org.sonar.server.exceptions.ServerException) BadRequestException(org.sonar.server.exceptions.BadRequestException)

Example 30 with JsonWriter

use of org.sonar.api.utils.text.JsonWriter in project sonarqube by SonarSource.

the class SearchAction method handle.

@Override
public void handle(Request request, Response response) throws Exception {
    int page = request.mandatoryParamAsInt(Param.PAGE);
    int pageSize = request.mandatoryParamAsInt(Param.PAGE_SIZE);
    SearchOptions options = new SearchOptions().setPage(page, pageSize);
    String query = defaultIfBlank(request.param(Param.TEXT_QUERY), "");
    Set<String> fields = neededFields(request);
    try (DbSession dbSession = dbClient.openSession(false)) {
        OrganizationDto organization = groupWsSupport.findOrganizationByKey(dbSession, request.param(PARAM_ORGANIZATION_KEY));
        userSession.checkLoggedIn().checkPermission(ADMINISTER, organization);
        int limit = dbClient.groupDao().countByQuery(dbSession, organization.getUuid(), query);
        List<GroupDto> groups = dbClient.groupDao().selectByQuery(dbSession, organization.getUuid(), query, options.getOffset(), pageSize);
        List<Integer> groupIds = groups.stream().map(GroupDto::getId).collect(Collectors.toList(groups.size()));
        Map<String, Integer> userCountByGroup = dbClient.groupMembershipDao().countUsersByGroups(dbSession, groupIds);
        JsonWriter json = response.newJsonWriter().beginObject();
        options.writeJson(json, limit);
        writeGroups(json, groups, userCountByGroup, fields);
        json.endObject().close();
    }
}
Also used : DbSession(org.sonar.db.DbSession) GroupDto(org.sonar.db.user.GroupDto) SearchOptions(org.sonar.server.es.SearchOptions) JsonWriter(org.sonar.api.utils.text.JsonWriter) OrganizationDto(org.sonar.db.organization.OrganizationDto)

Aggregations

JsonWriter (org.sonar.api.utils.text.JsonWriter)69 DbSession (org.sonar.db.DbSession)24 ComponentDto (org.sonar.db.component.ComponentDto)12 UserDto (org.sonar.db.user.UserDto)6 MetricDto (org.sonar.db.metric.MetricDto)5 OrganizationDto (org.sonar.db.organization.OrganizationDto)5 SearchOptions (org.sonar.server.es.SearchOptions)5 StringWriter (java.io.StringWriter)4 QualityGateDto (org.sonar.db.qualitygate.QualityGateDto)4 OutputStreamWriter (java.io.OutputStreamWriter)3 Language (org.sonar.api.resources.Language)3 Paging (org.sonar.api.utils.Paging)2 PluginInfo (org.sonar.core.platform.PluginInfo)2 CustomMeasureDto (org.sonar.db.measure.custom.CustomMeasureDto)2 QualityProfileDto (org.sonar.db.qualityprofile.QualityProfileDto)2 BadRequestException (org.sonar.server.exceptions.BadRequestException)2 NotFoundException (org.sonar.server.exceptions.NotFoundException)2 DatabaseVersion (org.sonar.server.platform.db.migration.version.DatabaseVersion)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 ImmutableMap (com.google.common.collect.ImmutableMap)1