3 * Copyright (C) 2009-2019 SonarSource SA
4 * mailto:info AT sonarsource DOT com
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 3 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 package org.sonar.server.measure.ws;
22 import org.sonar.api.server.ws.WebService.NewAction;
23 import org.sonar.api.server.ws.WebService.NewParam;
25 import static org.sonar.server.component.ws.MeasuresWsParameters.ADDITIONAL_FIELDS;
26 import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_ADDITIONAL_FIELDS;
27 import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_DEVELOPER_ID;
28 import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_DEVELOPER_KEY;
29 import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_METRIC_KEYS;
31 class MeasuresWsParametersBuilder {
33 private MeasuresWsParametersBuilder() {
34 // prevent instantiation
37 static NewParam createAdditionalFieldsParameter(NewAction action) {
38 return action.createParam(PARAM_ADDITIONAL_FIELDS)
39 .setDescription("Comma-separated list of additional fields that can be returned in the response.")
40 .setPossibleValues(ADDITIONAL_FIELDS)
41 .setExampleValue("periods,metrics");
44 static NewParam createMetricKeysParameter(NewAction action) {
45 return action.createParam(PARAM_METRIC_KEYS)
46 .setDescription("Comma-separated list of metric keys")
48 .setExampleValue("ncloc,complexity,violations");
51 static void createDeveloperParameters(NewAction action) {
52 deprecateDeveloperParameter(action, PARAM_DEVELOPER_ID);
53 deprecateDeveloperParameter(action, PARAM_DEVELOPER_KEY);
56 private static void deprecateDeveloperParameter(NewAction action, String key) {
57 action.createParam(key)
58 .setDeprecatedSince("6.4")
59 .setDescription("Deprecated parameter, used previously with the Developer Cockpit plugin. No measures are returned if parameter is set.");