aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java22
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/EncryptAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/ListDefinitionsAction.java14
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/ResetAction.java18
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/SetAction.java22
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWs.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsParameters.java33
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/setting/ws/ValuesAction.java17
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ws/DeprecatedPropertiesWsFilter.java17
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java2
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java2
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/settings/DeprecatedPropertiesWsTest.java8
-rw-r--r--tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java10
-rw-r--r--tests/src/test/java/org/sonarqube/tests/settings/PropertySetsTest.java27
-rw-r--r--tests/src/test/java/org/sonarqube/tests/settings/SettingsTest.java48
-rw-r--r--tests/src/test/java/org/sonarqube/tests/webhook/WebhooksTest.java10
-rw-r--r--tests/src/test/java/util/ItUtils.java10
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));
}
}