diff options
19 files changed, 146 insertions, 123 deletions
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java index 399e2c305fc..24ab4cad627 100644 --- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java +++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java @@ -26,10 +26,12 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; import org.sonarqube.ws.Settings; -import org.sonarqube.ws.client.setting.ListDefinitionsRequest; -import org.sonarqube.ws.client.setting.ResetRequest; -import org.sonarqube.ws.client.setting.SetRequest; -import org.sonarqube.ws.client.setting.SettingsService; +import org.sonarqube.ws.client.settings.ListDefinitionsRequest; +import org.sonarqube.ws.client.settings.ResetRequest; +import org.sonarqube.ws.client.settings.SetRequest; +import org.sonarqube.ws.client.settings.SettingsService; + +import static java.util.Arrays.asList; public class SettingTester { @@ -48,21 +50,21 @@ public class SettingTester { void deleteAll() { List<String> settingKeys = Stream.concat( - session.wsClient().settings().listDefinitions(ListDefinitionsRequest.builder().build()).getDefinitionsList() + session.wsClient().settings().listDefinitions(new ListDefinitionsRequest()).getDefinitionsList() .stream() .filter(def -> def.getType() != Settings.Type.LICENSE) .map(Settings.Definition::getKey), EMAIL_SETTINGS.stream()) .collect(Collectors.toList()); - session.wsClient().settings().reset(ResetRequest.builder().setKeys(settingKeys).build()); + session.wsClient().settings().reset(new ResetRequest().setKeys(settingKeys)); } public void resetSettings(String... keys){ - session.wsClient().settings().reset(ResetRequest.builder().setKeys(keys).build()); + session.wsClient().settings().reset(new ResetRequest().setKeys(asList(keys))); } public void resetProjectSettings(String projectKey, String... keys){ - session.wsClient().settings().reset(ResetRequest.builder().setComponent(projectKey).setKeys(keys).build()); + session.wsClient().settings().reset(new ResetRequest().setComponent(projectKey).setKeys(asList(keys))); } public void setGlobalSetting(String key, @Nullable String value) { @@ -87,9 +89,9 @@ public class SettingTester { private void setSetting(@Nullable String componentKey, String key, @Nullable String value) { if (value == null) { - session.wsClient().settings().reset(ResetRequest.builder().setKeys(key).setComponent(componentKey).build()); + session.wsClient().settings().reset(new ResetRequest().setKeys(asList(key)).setComponent(componentKey)); } else { - session.wsClient().settings().set(SetRequest.builder().setKey(key).setValue(value).setComponent(componentKey).build()); + session.wsClient().settings().set(new SetRequest().setKey(key).setValue(value).setComponent(componentKey)); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/EncryptAction.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/EncryptAction.java index 30fd8acde76..7fbb6c398bf 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/EncryptAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/EncryptAction.java @@ -27,9 +27,9 @@ import org.sonar.api.server.ws.WebService; import org.sonar.server.user.UserSession; import org.sonarqube.ws.Settings.EncryptWsResponse; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_VALUE; import static org.sonar.server.ws.WsUtils.checkRequest; import static org.sonar.server.ws.WsUtils.writeProtobuf; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUE; public class EncryptAction implements SettingsWsAction { private final UserSession userSession; diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ListDefinitionsAction.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ListDefinitionsAction.java index 7dc22b26172..35d78cc6c27 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ListDefinitionsAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ListDefinitionsAction.java @@ -34,18 +34,17 @@ import org.sonar.server.component.ComponentFinder; import org.sonar.server.user.UserSession; import org.sonarqube.ws.Settings; import org.sonarqube.ws.Settings.ListDefinitionsWsResponse; -import org.sonarqube.ws.client.setting.ListDefinitionsRequest; +import org.sonarqube.ws.client.settings.ListDefinitionsRequest; import static com.google.common.base.Strings.emptyToNull; import static java.util.Comparator.comparing; import static org.sonar.api.web.UserRole.USER; import static org.sonar.core.util.Protobuf.setNullable; import static org.sonar.server.setting.ws.SettingsWs.SETTING_ON_BRANCHES; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_BRANCH; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_COMPONENT; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; import static org.sonar.server.ws.WsUtils.writeProtobuf; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_LIST_DEFINITIONS; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_BRANCH; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_COMPONENT; public class ListDefinitionsAction implements SettingsWsAction { @@ -66,7 +65,7 @@ public class ListDefinitionsAction implements SettingsWsAction { @Override public void define(WebService.NewController context) { - WebService.NewAction action = context.createAction(ACTION_LIST_DEFINITIONS) + WebService.NewAction action = context.createAction("list_definitions") .setDescription("List settings definitions.<br>" + "Requires 'Browse' permission when a component is specified<br/>", "To access licensed settings, authentication is required<br/>" + @@ -107,10 +106,9 @@ public class ListDefinitionsAction implements SettingsWsAction { } private static ListDefinitionsRequest toWsRequest(Request request) { - return ListDefinitionsRequest.builder() + return new ListDefinitionsRequest() .setComponent(request.param(PARAM_COMPONENT)) - .setBranch(request.param(PARAM_BRANCH)) - .build(); + .setBranch(request.param(PARAM_BRANCH)); } private static Optional<String> getQualifier(Optional<ComponentDto> component) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ResetAction.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ResetAction.java index 9986076fabf..27f89a4fc85 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ResetAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ResetAction.java @@ -36,15 +36,14 @@ import org.sonar.db.component.ComponentDto; import org.sonar.server.component.ComponentFinder; import org.sonar.server.setting.ws.SettingValidations.SettingData; import org.sonar.server.user.UserSession; -import org.sonarqube.ws.client.setting.ResetRequest; +import org.sonarqube.ws.client.settings.ResetRequest; import static java.util.Collections.emptyList; import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_RESET; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_BRANCH; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_COMPONENT; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_KEYS; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_BRANCH; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_COMPONENT; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_KEYS; public class ResetAction implements SettingsWsAction { @@ -67,7 +66,7 @@ public class ResetAction implements SettingsWsAction { @Override public void define(WebService.NewController context) { - WebService.NewAction action = context.createAction(ACTION_RESET) + WebService.NewAction action = context.createAction("reset") .setDescription("Remove a setting value.<br>" + "Requires one of the following permissions: " + "<ul>" + @@ -79,7 +78,7 @@ public class ResetAction implements SettingsWsAction { .setHandler(this); action.createParam(PARAM_KEYS) - .setDescription("Setting keys") + .setDescription("Comma-separated list of keys") .setExampleValue("sonar.links.scm,sonar.debt.hoursInDay") .setRequired(true); action.createParam(PARAM_COMPONENT) @@ -126,11 +125,10 @@ public class ResetAction implements SettingsWsAction { } private static ResetRequest toWsRequest(Request request) { - return ResetRequest.builder() + return new ResetRequest() .setKeys(request.paramAsStrings(PARAM_KEYS)) .setComponent(request.param(PARAM_COMPONENT)) - .setBranch(request.param(PARAM_BRANCH)) - .build(); + .setBranch(request.param(PARAM_BRANCH)); } private Optional<ComponentDto> getComponent(DbSession dbSession, ResetRequest request) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SetAction.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SetAction.java index a4e23832f45..8eb5a128a42 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SetAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SetAction.java @@ -54,19 +54,18 @@ import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.platform.SettingsChangeNotifier; import org.sonar.server.setting.ws.SettingValidations.SettingData; import org.sonar.server.user.UserSession; -import org.sonarqube.ws.client.setting.SetRequest; +import org.sonarqube.ws.client.settings.SetRequest; import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; import static org.sonar.server.ws.WsUtils.checkRequest; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_SET; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_BRANCH; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_COMPONENT; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_FIELD_VALUES; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_KEY; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUE; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUES; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_BRANCH; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_COMPONENT; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_FIELD_VALUES; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_KEY; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_VALUE; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_VALUES; public class SetAction implements SettingsWsAction { private static final Collector<CharSequence, ?, String> COMMA_JOINER = Collectors.joining(","); @@ -96,7 +95,7 @@ public class SetAction implements SettingsWsAction { @Override public void define(WebService.NewController context) { - WebService.NewAction action = context.createAction(ACTION_SET) + WebService.NewAction action = context.createAction("set") .setDescription("Update a setting value.<br>" + "Either '%s' or '%s' must be provided.<br> " + "Requires one of the following permissions: " + @@ -283,14 +282,13 @@ public class SetAction implements SettingsWsAction { } private static SetRequest toWsRequest(Request request) { - return SetRequest.builder() + return new SetRequest() .setKey(request.mandatoryParam(PARAM_KEY)) .setValue(request.param(PARAM_VALUE)) .setValues(request.multiParam(PARAM_VALUES)) .setFieldValues(request.multiParam(PARAM_FIELD_VALUES)) .setComponent(request.param(PARAM_COMPONENT)) - .setBranch(request.param(PARAM_BRANCH)) - .build(); + .setBranch(request.param(PARAM_BRANCH)); } private static Map<String, String> readOneFieldValues(String json, String key) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWs.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWs.java index 9a787022b01..e94e928aad4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWs.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWs.java @@ -24,7 +24,6 @@ import java.util.Set; import org.sonar.api.server.ws.WebService; import static org.sonar.core.config.CorePropertyDefinitions.LEAK_PERIOD; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.CONTROLLER_SETTINGS; public class SettingsWs implements WebService { @@ -38,7 +37,7 @@ public class SettingsWs implements WebService { @Override public void define(Context context) { - NewController controller = context.createController(CONTROLLER_SETTINGS) + NewController controller = context.createController("api/settings") .setDescription("Manage settings.") .setSince("6.1"); for (SettingsWsAction action : actions) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsParameters.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsParameters.java index 3053afa5b9c..c277d5a7436 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsParameters.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsParameters.java @@ -1,4 +1,37 @@ + +/* + * SonarQube + * Copyright (C) 2009-2017 SonarSource SA + * mailto:info 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.sonar.server.setting.ws; public class SettingsWsParameters { + + public static final String PARAM_COMPONENT = "component"; + public static final String PARAM_BRANCH = "branch"; + public static final String PARAM_KEYS = "keys"; + public static final String PARAM_KEY = "key"; + public static final String PARAM_VALUE = "value"; + public static final String PARAM_VALUES = "values"; + public static final String PARAM_FIELD_VALUES = "fieldValues"; + + private SettingsWsParameters() { + // Only static stuff + } + } diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java index f690a5f75e3..a09ad616a9c 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java @@ -35,8 +35,8 @@ import org.sonar.server.user.UserSession; import static org.sonar.api.PropertyType.LICENSE; import static org.sonar.api.web.UserRole.ADMIN; import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_BRANCH; import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_BRANCH; @ServerSide public class SettingsWsSupport { diff --git a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ValuesAction.java b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ValuesAction.java index f6776aaa46b..5c50aeed676 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ValuesAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/setting/ws/ValuesAction.java @@ -42,7 +42,7 @@ import org.sonar.server.component.ComponentFinder; import org.sonar.server.user.UserSession; import org.sonarqube.ws.Settings; import org.sonarqube.ws.Settings.ValuesWsResponse; -import org.sonarqube.ws.client.setting.ValuesRequest; +import org.sonarqube.ws.client.settings.ValuesRequest; import static java.lang.String.format; import static java.util.stream.Stream.concat; @@ -51,13 +51,12 @@ import static org.sonar.api.CoreProperties.SERVER_ID; import static org.sonar.api.CoreProperties.SERVER_STARTTIME; import static org.sonar.api.PropertyType.PROPERTY_SET; import static org.sonar.api.web.UserRole.USER; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_BRANCH; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_COMPONENT; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_KEYS; import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; import static org.sonar.server.ws.WsUtils.writeProtobuf; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_VALUES; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_BRANCH; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_COMPONENT; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_KEYS; public class ValuesAction implements SettingsWsAction { @@ -84,7 +83,7 @@ public class ValuesAction implements SettingsWsAction { @Override public void define(WebService.NewController context) { - WebService.NewAction action = context.createAction(ACTION_VALUES) + WebService.NewAction action = context.createAction("values") .setDescription("List settings values.<br>" + "If no value has been set for a setting, then the default value is returned.<br>" + "Requires 'Browse' permission when a component is specified<br/>", @@ -129,13 +128,13 @@ public class ValuesAction implements SettingsWsAction { } private static ValuesRequest toWsRequest(Request request) { - ValuesRequest.Builder builder = ValuesRequest.builder() + ValuesRequest result = new ValuesRequest() .setComponent(request.param(PARAM_COMPONENT)) .setBranch(request.param(PARAM_BRANCH)); if (request.hasParam(PARAM_KEYS)) { - builder.setKeys(request.paramAsStrings(PARAM_KEYS)); + result.setKeys(request.paramAsStrings(PARAM_KEYS)); } - return builder.build(); + return result; } private Set<String> loadKeys(ValuesRequest valuesRequest) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/ws/DeprecatedPropertiesWsFilter.java b/server/sonar-server/src/main/java/org/sonar/server/ws/DeprecatedPropertiesWsFilter.java index 9500b1c307a..603be94275a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/ws/DeprecatedPropertiesWsFilter.java +++ b/server/sonar-server/src/main/java/org/sonar/server/ws/DeprecatedPropertiesWsFilter.java @@ -42,14 +42,11 @@ import org.sonar.server.property.ws.IndexAction; import static com.google.common.base.Strings.isNullOrEmpty; import static java.nio.charset.StandardCharsets.UTF_8; import static org.sonar.server.property.ws.PropertiesWs.CONTROLLER_PROPERTIES; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_RESET; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.ACTION_SET; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.CONTROLLER_SETTINGS; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_COMPONENT; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_KEY; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_KEYS; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUE; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUES; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_COMPONENT; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_KEY; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_KEYS; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_VALUE; +import static org.sonar.server.setting.ws.SettingsWsParameters.PARAM_VALUES; /** * This filter is used to execute deprecated api/properties WS, that were using REST @@ -230,14 +227,14 @@ public class DeprecatedPropertiesWsFilter extends ServletFilter { additionalMultiParams.putAll(PARAM_VALUES, values); } addParameterIfPresent(PARAM_COMPONENT, component); - redirectedPath = CONTROLLER_SETTINGS + SEPARATOR + ACTION_SET; + redirectedPath = "api/settings/set"; redirectedMethod = "POST"; } private void redirectToReset(Optional<String> key, Optional<String> component) { addParameterIfPresent(PARAM_KEYS, key); addParameterIfPresent(PARAM_COMPONENT, component); - redirectedPath = CONTROLLER_SETTINGS + SEPARATOR + ACTION_RESET; + redirectedPath = "api/settings/reset"; redirectedMethod = "POST"; } diff --git a/server/sonar-server/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java index 24f2c6b8287..cc1e5fba181 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java @@ -40,7 +40,7 @@ import org.sonarqube.ws.Settings.EncryptWsResponse; import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.test.JsonAssert.assertJson; -import static org.sonarqube.ws.client.setting.SettingsWsParameters.PARAM_VALUE; +import static org.sonarqube.ws.client.settings.SettingsWsParameters.PARAM_VALUE; public class EncryptActionTest { @Rule diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java index 660f3652418..e57f10037cc 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java @@ -35,7 +35,7 @@ import org.sonarqube.ws.client.qualitygates.QualitygatesService; import org.sonarqube.ws.client.qualityprofile.QualityProfilesService; import org.sonarqube.ws.client.roots.RootsService; import org.sonarqube.ws.client.rule.RulesService; -import org.sonarqube.ws.client.setting.SettingsService; +import org.sonarqube.ws.client.settings.SettingsService; import org.sonarqube.ws.client.system.SystemService; import org.sonarqube.ws.client.user.UsersService; import org.sonarqube.ws.client.usergroup.UserGroupsService; diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java index b81990aa1a6..e05f08dfecf 100644 --- a/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java +++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java @@ -35,7 +35,7 @@ import org.sonarqube.ws.client.qualitygates.QualitygatesService; import org.sonarqube.ws.client.qualityprofile.QualityProfilesService; import org.sonarqube.ws.client.roots.RootsService; import org.sonarqube.ws.client.rule.RulesService; -import org.sonarqube.ws.client.setting.SettingsService; +import org.sonarqube.ws.client.settings.SettingsService; import org.sonarqube.ws.client.system.SystemService; import org.sonarqube.ws.client.user.UsersService; import org.sonarqube.ws.client.usergroup.UserGroupsService; diff --git a/tests/src/test/java/org/sonarqube/tests/settings/DeprecatedPropertiesWsTest.java b/tests/src/test/java/org/sonarqube/tests/settings/DeprecatedPropertiesWsTest.java index 0448d8bac88..4390f97da74 100644 --- a/tests/src/test/java/org/sonarqube/tests/settings/DeprecatedPropertiesWsTest.java +++ b/tests/src/test/java/org/sonarqube/tests/settings/DeprecatedPropertiesWsTest.java @@ -44,8 +44,8 @@ import org.junit.Test; import org.sonarqube.ws.client.GetRequest; import org.sonarqube.ws.client.WsClient; import org.sonarqube.ws.client.WsResponse; -import org.sonarqube.ws.client.setting.SetRequest; -import org.sonarqube.ws.client.setting.SettingsService; +import org.sonarqube.ws.client.settings.SetRequest; +import org.sonarqube.ws.client.settings.SettingsService; import util.user.UserRule; import static java.net.URLEncoder.encode; @@ -309,11 +309,11 @@ public class DeprecatedPropertiesWsTest { } private static void setProperty(String key, String value, @Nullable String componentKey) { - adminSettingsService.set(SetRequest.builder().setKey(key).setValue(value).setComponent(componentKey).build()); + adminSettingsService.set(new SetRequest().setKey(key).setValue(value).setComponent(componentKey)); } private static void setProperty(String key, List<String> values, @Nullable String componentKey) { - adminSettingsService.set(SetRequest.builder().setKey(key).setValues(values).setComponent(componentKey).build()); + adminSettingsService.set(new SetRequest().setKey(key).setValues(values).setComponent(componentKey)); } private static List<Properties.Property> getProperties(@Nullable String componentKey) { diff --git a/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java b/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java index 78522a988a4..fdc23273ff8 100644 --- a/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java +++ b/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java @@ -35,11 +35,12 @@ import org.sonarqube.tests.Category1Suite; import org.sonarqube.qa.util.Tester; import org.sonarqube.ws.Settings; import org.sonarqube.ws.client.PostRequest; -import org.sonarqube.ws.client.setting.ValuesRequest; +import org.sonarqube.ws.client.settings.ValuesRequest; import org.subethamail.wiser.Wiser; import org.subethamail.wiser.WiserMessage; import static java.lang.String.format; +import static java.util.Arrays.asList; import static junit.framework.TestCase.fail; import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic; import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric; @@ -79,10 +80,9 @@ public class EmailsTest { public void update_email_settings() throws Exception { updateEmailSettings("localhost", "42", "noreply@email.com", "The Devil", "[EMAIL]", "ssl", "john", "123456"); - Settings.ValuesWsResponse response = tester.settings().service().values(ValuesRequest.builder() - .setKeys("email.smtp_host.secured", "email.smtp_port.secured", "email.smtp_secure_connection.secured", "email.smtp_username.secured", "email.smtp_password.secured", - "email.from", "email.fromName", "email.prefix") - .build()); + Settings.ValuesWsResponse response = tester.settings().service().values(new ValuesRequest() + .setKeys(asList("email.smtp_host.secured", "email.smtp_port.secured", "email.smtp_secure_connection.secured", "email.smtp_username.secured", "email.smtp_password.secured", + "email.from", "email.fromName", "email.prefix"))); assertThat(response.getSettingsList()).extracting(Settings.Setting::getKey, Settings.Setting::getValue) .containsOnly( diff --git a/tests/src/test/java/org/sonarqube/tests/settings/PropertySetsTest.java b/tests/src/test/java/org/sonarqube/tests/settings/PropertySetsTest.java index a6241c79374..f7aaa8c74fa 100644 --- a/tests/src/test/java/org/sonarqube/tests/settings/PropertySetsTest.java +++ b/tests/src/test/java/org/sonarqube/tests/settings/PropertySetsTest.java @@ -20,7 +20,6 @@ package org.sonarqube.tests.settings; import com.sonar.orchestrator.Orchestrator; -import org.sonarqube.tests.Category1Suite; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; @@ -30,15 +29,15 @@ import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.sonarqube.ws.Settings; -import org.sonarqube.ws.client.setting.SetRequest; -import org.sonarqube.ws.client.setting.SettingsService; -import org.sonarqube.ws.client.setting.ValuesRequest; import org.sonarqube.qa.util.pageobjects.Navigation; import org.sonarqube.qa.util.pageobjects.settings.SettingsPage; +import org.sonarqube.tests.Category1Suite; +import org.sonarqube.ws.Settings; +import org.sonarqube.ws.client.settings.SetRequest; +import org.sonarqube.ws.client.settings.SettingsService; +import org.sonarqube.ws.client.settings.ValuesRequest; import util.user.UserRule; -import static com.google.common.collect.Lists.newArrayList; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; @@ -109,12 +108,11 @@ public class PropertySetsTest { @Test public void edit_property_set() { - SETTINGS.set(SetRequest.builder() + SETTINGS.set(new SetRequest() .setKey("sonar.test.jira.servers") - .setFieldValues(newArrayList( + .setFieldValues(asList( "{\"key\":\"jira1\", \"url\":\"http://jira1\", \"port\":\"12345\"}", - "{\"key\":\"jira2\", \"url\":\"http://jira2\", \"port\":\"54321\"}")) - .build()); + "{\"key\":\"jira2\", \"url\":\"http://jira2\", \"port\":\"54321\"}"))); assertPropertySet("sonar.test.jira.servers", asList(entry("key", "jira1"), entry("url", "http://jira1"), entry("port", "12345")), @@ -123,14 +121,13 @@ public class PropertySetsTest { @Test public void delete_property_set() throws Exception { - SETTINGS.set(SetRequest.builder() + SETTINGS.set(new SetRequest() .setKey("sonar.test.jira.servers") - .setFieldValues(newArrayList("{\"url\":\"http://jira1\"}", "{\"port\":\"12345\"}")) - .build()); + .setFieldValues(asList("{\"url\":\"http://jira1\"}", "{\"port\":\"12345\"}"))); resetSettings(orchestrator, null, "sonar.test.jira.servers"); - assertThat(SETTINGS.values(ValuesRequest.builder().setKeys("sonar.test.jira.servers").build()).getSettingsList()).isEmpty(); + assertThat(SETTINGS.values(new ValuesRequest().setKeys(asList("sonar.test.jira.servers"))).getSettingsList()).isEmpty(); } private void assertPropertySet(String baseSettingKey, List<Map.Entry<String, String>>... fieldsValues) { @@ -144,7 +141,7 @@ public class PropertySetsTest { } private Settings.Setting getSetting(String key) { - Settings.ValuesWsResponse response = SETTINGS.values(ValuesRequest.builder().setKeys(key).build()); + Settings.ValuesWsResponse response = SETTINGS.values(new ValuesRequest().setKeys(asList(key))); List<Settings.Setting> settings = response.getSettingsList(); assertThat(settings).hasSize(1); return settings.get(0); diff --git a/tests/src/test/java/org/sonarqube/tests/settings/SettingsTest.java b/tests/src/test/java/org/sonarqube/tests/settings/SettingsTest.java index df5b3fe02d7..9733ff6bb47 100644 --- a/tests/src/test/java/org/sonarqube/tests/settings/SettingsTest.java +++ b/tests/src/test/java/org/sonarqube/tests/settings/SettingsTest.java @@ -21,9 +21,8 @@ package org.sonarqube.tests.settings; import com.google.common.collect.ImmutableMap; import com.sonar.orchestrator.Orchestrator; -import org.junit.rules.RuleChain; -import org.sonarqube.tests.Category1Suite; import java.io.IOException; +import java.util.Arrays; import java.util.List; import javax.annotation.CheckForNull; import org.apache.commons.io.FileUtils; @@ -32,15 +31,17 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; +import org.junit.rules.RuleChain; +import org.sonarqube.tests.Category1Suite; import org.sonarqube.ws.Settings; import org.sonarqube.ws.client.WsClient; import org.sonarqube.ws.client.permission.AddGroupWsRequest; import org.sonarqube.ws.client.permission.AddUserWsRequest; import org.sonarqube.ws.client.permission.RemoveGroupWsRequest; -import org.sonarqube.ws.client.setting.ResetRequest; -import org.sonarqube.ws.client.setting.SetRequest; -import org.sonarqube.ws.client.setting.SettingsService; -import org.sonarqube.ws.client.setting.ValuesRequest; +import org.sonarqube.ws.client.settings.ResetRequest; +import org.sonarqube.ws.client.settings.SetRequest; +import org.sonarqube.ws.client.settings.SettingsService; +import org.sonarqube.ws.client.settings.ValuesRequest; import util.user.UserRule; import static java.util.Arrays.asList; @@ -113,7 +114,7 @@ public class SettingsTest { */ @Test public void global_property_change_extension_point() throws IOException { - adminSettingsService.set(SetRequest.builder().setKey("globalPropertyChange.received").setValue("NEWVALUE").build()); + adminSettingsService.set(new SetRequest().setKey("globalPropertyChange.received").setValue("NEWVALUE")); assertThat(FileUtils.readFileToString(orchestrator.getServer().getWebLogs())) .contains("Received change: [key=globalPropertyChange.received, newValue=NEWVALUE]"); } @@ -127,7 +128,7 @@ public class SettingsTest { @Test public void set_setting() { - adminSettingsService.set(SetRequest.builder().setKey(PLUGIN_SETTING_KEY).setValue("some value").build()); + adminSettingsService.set(new SetRequest().setKey(PLUGIN_SETTING_KEY).setValue("some value")); String value = getSetting(PLUGIN_SETTING_KEY, anonymousSettingsService).getValue(); assertThat(value).isEqualTo("some value"); @@ -135,32 +136,32 @@ public class SettingsTest { @Test public void remove_setting() { - adminSettingsService.set(SetRequest.builder().setKey(PLUGIN_SETTING_KEY).setValue("some value").build()); - adminSettingsService.set(SetRequest.builder().setKey("sonar.links.ci").setValue("http://localhost").build()); + adminSettingsService.set(new SetRequest().setKey(PLUGIN_SETTING_KEY).setValue("some value")); + adminSettingsService.set(new SetRequest().setKey("sonar.links.ci").setValue("http://localhost")); - adminSettingsService.reset(ResetRequest.builder().setKeys(PLUGIN_SETTING_KEY, "sonar.links.ci").build()); + adminSettingsService.reset(new ResetRequest().setKeys(Arrays.asList(PLUGIN_SETTING_KEY, "sonar.links.ci"))); assertThat(getSetting(PLUGIN_SETTING_KEY, anonymousSettingsService).getValue()).isEqualTo("aDefaultValue"); assertThat(getSetting("sonar.links.ci", anonymousSettingsService)).isNull(); } @Test public void hidden_setting() { - adminSettingsService.set(SetRequest.builder().setKey("hidden").setValue("test").build()); + adminSettingsService.set(new SetRequest().setKey("hidden").setValue("test")); assertThat(getSetting("hidden", anonymousSettingsService).getValue()).isEqualTo("test"); } @Test public void secured_setting() { - adminSettingsService.set(SetRequest.builder().setKey("setting.secured").setValue("test").build()); + adminSettingsService.set(new SetRequest().setKey("setting.secured").setValue("test")); assertThat(getSetting("setting.secured", anonymousSettingsService)).isNull(); -// assertThat(getSetting("setting.secured", userSettingsService)).isNull(); + // assertThat(getSetting("setting.secured", userSettingsService)).isNull(); assertThat(getSetting("setting.secured", scanSettingsService).getValue()).isEqualTo("test"); assertThat(getSetting("setting.secured", adminSettingsService).getValue()).isEqualTo("test"); } @Test public void license_setting() { - adminSettingsService.set(SetRequest.builder().setKey("setting.license.secured").setValue("test").build()); + adminSettingsService.set(new SetRequest().setKey("setting.license.secured").setValue("test")); assertThat(getSetting("setting.license.secured", anonymousSettingsService)).isNull(); assertThat(getSetting("setting.license.secured", userSettingsService).getValue()).isEqualTo("test"); assertThat(getSetting("setting.license.secured", scanSettingsService).getValue()).isEqualTo("test"); @@ -169,16 +170,15 @@ public class SettingsTest { @Test public void multi_values_setting() throws Exception { - adminSettingsService.set(SetRequest.builder().setKey("multi").setValues(asList("value1", "value2", "value3")).build()); + adminSettingsService.set(new SetRequest().setKey("multi").setValues(asList("value1", "value2", "value3"))); assertThat(getSetting("multi", anonymousSettingsService).getValues().getValuesList()).containsOnly("value1", "value2", "value3"); } @Test public void property_set_setting() throws Exception { - adminSettingsService.set(SetRequest.builder().setKey("sonar.jira").setFieldValues(asList( + adminSettingsService.set(new SetRequest().setKey("sonar.jira").setFieldValues(asList( "{\"key\":\"jira1\", \"url\":\"http://jira1\", \"port\":\"12345\", \"type\":\"A\"}", - "{\"key\":\"jira2\", \"url\":\"http://jira2\", \"port\":\"54321\"}")) - .build()); + "{\"key\":\"jira2\", \"url\":\"http://jira2\", \"port\":\"54321\"}"))); assertThat(getSetting("sonar.jira", anonymousSettingsService).getFieldValues().getFieldValuesList()).extracting(Settings.FieldValues.Value::getValue).containsOnly( ImmutableMap.of("key", "jira1", "url", "http://jira1", "port", "12345", "type", "A"), @@ -187,23 +187,23 @@ public class SettingsTest { @Test public void return_defined_settings_when_no_key_provided() throws Exception { - adminSettingsService.set(SetRequest.builder().setKey(PLUGIN_SETTING_KEY).setValue("some value").build()); - adminSettingsService.set(SetRequest.builder().setKey("hidden").setValue("test").build()); + adminSettingsService.set(new SetRequest().setKey(PLUGIN_SETTING_KEY).setValue("some value")); + adminSettingsService.set(new SetRequest().setKey("hidden").setValue("test")); - assertThat(adminSettingsService.values(ValuesRequest.builder().build()).getSettingsList()) + assertThat(adminSettingsService.values(new ValuesRequest()).getSettingsList()) .extracting(Setting::getKey) .contains(PLUGIN_SETTING_KEY, "hidden", "sonar.forceAuthentication", // Settings for scanner "sonar.core.startTime"); - assertThat(adminSettingsService.values(ValuesRequest.builder().build()).getSettingsList()) + assertThat(adminSettingsService.values(new ValuesRequest()).getSettingsList()) .extracting(Setting::getKey, Setting::getValue) .contains(tuple(PLUGIN_SETTING_KEY, "some value"), tuple("hidden", "test")); } @CheckForNull private static Setting getSetting(String key, SettingsService settingsService) { - ValuesWsResponse response = settingsService.values(ValuesRequest.builder().setKeys(key).build()); + ValuesWsResponse response = settingsService.values(new ValuesRequest().setKeys(asList(key))); List<Settings.Setting> settings = response.getSettingsList(); return settings.isEmpty() ? null : settings.get(0); } diff --git a/tests/src/test/java/org/sonarqube/tests/webhook/WebhooksTest.java b/tests/src/test/java/org/sonarqube/tests/webhook/WebhooksTest.java index 5aba7eeb6c4..b56680b7299 100644 --- a/tests/src/test/java/org/sonarqube/tests/webhook/WebhooksTest.java +++ b/tests/src/test/java/org/sonarqube/tests/webhook/WebhooksTest.java @@ -21,6 +21,8 @@ package org.sonarqube.tests.webhook; import com.sonar.orchestrator.Orchestrator; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -35,8 +37,8 @@ import org.sonarqube.ws.Webhooks; import org.sonarqube.ws.client.HttpException; import org.sonarqube.ws.client.WsClient; import org.sonarqube.ws.client.project.DeleteRequest; -import org.sonarqube.ws.client.setting.ResetRequest; -import org.sonarqube.ws.client.setting.SetRequest; +import org.sonarqube.ws.client.settings.ResetRequest; +import org.sonarqube.ws.client.settings.SetRequest; import org.sonarqube.ws.client.webhooks.DeliveriesRequest; import org.sonarqube.ws.client.webhooks.DeliveryRequest; import util.ItUtils; @@ -272,10 +274,10 @@ public class WebhooksTest { private void setProperty(@Nullable String componentKey, String key, @Nullable String value) { if (value == null) { - ResetRequest req = ResetRequest.builder().setKeys(key).setComponent(componentKey).build(); + ResetRequest req = new ResetRequest().setKeys(Collections.singletonList(key)).setComponent(componentKey); adminWs.settings().reset(req); } else { - SetRequest req = SetRequest.builder().setKey(key).setValue(value).setComponent(componentKey).build(); + SetRequest req = new SetRequest().setKey(key).setValue(value).setComponent(componentKey); adminWs.settings().set(req); } } diff --git a/tests/src/test/java/util/ItUtils.java b/tests/src/test/java/util/ItUtils.java index 2e36b573136..5f8a5a4b76b 100644 --- a/tests/src/test/java/util/ItUtils.java +++ b/tests/src/test/java/util/ItUtils.java @@ -73,8 +73,8 @@ import org.sonarqube.ws.client.WsClientFactories; import org.sonarqube.ws.client.component.ShowWsRequest; import org.sonarqube.ws.client.measure.ComponentWsRequest; import org.sonarqube.ws.client.qualityprofile.RestoreWsRequest; -import org.sonarqube.ws.client.setting.ResetRequest; -import org.sonarqube.ws.client.setting.SetRequest; +import org.sonarqube.ws.client.settings.ResetRequest; +import org.sonarqube.ws.client.settings.SetRequest; import static com.google.common.base.Preconditions.checkState; import static com.sonar.orchestrator.container.Server.ADMIN_LOGIN; @@ -267,9 +267,9 @@ public class ItUtils { @Deprecated public static void setServerProperty(Orchestrator orchestrator, @Nullable String componentKey, String key, @Nullable String value) { if (value == null) { - newAdminWsClient(orchestrator).settings().reset(ResetRequest.builder().setKeys(key).setComponent(componentKey).build()); + newAdminWsClient(orchestrator).settings().reset(new ResetRequest().setKeys(asList(key)).setComponent(componentKey)); } else { - newAdminWsClient(orchestrator).settings().set(SetRequest.builder().setKey(key).setValue(value).setComponent(componentKey).build()); + newAdminWsClient(orchestrator).settings().set(new SetRequest().setKey(key).setValue(value).setComponent(componentKey)); } } @@ -289,7 +289,7 @@ public class ItUtils { @Deprecated public static void resetSettings(Orchestrator orchestrator, @Nullable String componentKey, String... keys) { if (keys.length > 0) { - newAdminWsClient(orchestrator).settings().reset(ResetRequest.builder().setKeys(keys).setComponent(componentKey).build()); + newAdminWsClient(orchestrator).settings().reset(new ResetRequest().setKeys(Arrays.asList(keys)).setComponent(componentKey)); } } |