
org.sonarqube.ws.client.rule.RulesService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonar-ws Show documentation
Show all versions of sonar-ws Show documentation
Open source platform for continuous inspection of code quality
/*
* SonarQube
* Copyright (C) 2009-2016 SonarSource SA
* mailto:contact AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonarqube.ws.client.rule;
import org.sonarqube.ws.Rules.SearchResponse;
import org.sonarqube.ws.client.BaseService;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsConnector;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVATION;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_ACTIVE_SEVERITIES;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_AVAILABLE_SINCE;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_INHERITANCE;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_IS_TEMPLATE;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_LANGUAGES;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_QPROFILE;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_REPOSITORIES;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_RULE_KEY;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_SEVERITIES;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_STATUSES;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TAGS;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TEMPLATE_KEY;
import static org.sonarqube.ws.client.rule.RulesWsParameters.PARAM_TYPES;
public class RulesService extends BaseService {
public RulesService(WsConnector wsConnector) {
super(wsConnector, "api/rules");
}
public SearchResponse search(SearchWsRequest request) {
return call(
new GetRequest(path("search"))
.setParam(PARAM_ACTIVATION, request.getActivation())
.setParam(PARAM_ACTIVE_SEVERITIES, inlineMultipleParamValue(request.getActiveSeverities()))
.setParam("asc", request.getAsc())
.setParam(PARAM_AVAILABLE_SINCE, request.getAvailableSince())
.setParam("f", inlineMultipleParamValue(request.getFields()))
.setParam("facets", inlineMultipleParamValue(request.getFacets()))
.setParam(PARAM_INHERITANCE, inlineMultipleParamValue(request.getInheritance()))
.setParam(PARAM_IS_TEMPLATE, request.getIsTemplate())
.setParam(PARAM_LANGUAGES, inlineMultipleParamValue(request.getLanguages()))
.setParam("p", request.getPage())
.setParam("ps", request.getPageSize())
.setParam("q", request.getQuery())
.setParam(PARAM_QPROFILE, request.getQProfile())
.setParam(PARAM_REPOSITORIES, inlineMultipleParamValue(request.getRepositories()))
.setParam(PARAM_RULE_KEY, request.getRuleKey())
.setParam("s", request.getSort())
.setParam(PARAM_SEVERITIES, inlineMultipleParamValue(request.getSeverities()))
.setParam(PARAM_STATUSES, inlineMultipleParamValue(request.getStatuses()))
.setParam(PARAM_TAGS, inlineMultipleParamValue(request.getTags()))
.setParam(PARAM_TEMPLATE_KEY, request.getTemplateKey())
.setParam(PARAM_TYPES, inlineMultipleParamValue(request.getTypes())),
SearchResponse.parser());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy