import org.sonar.api.resources.Languages;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.WebService;
+import org.sonar.core.util.Uuids;
import org.sonar.server.qualityprofile.ws.QProfileReference;
import org.sonar.server.util.LanguageParamUtils;
public static void defineParams(WebService.NewAction action, Languages languages) {
action.createParam(PARAM_PROFILE_KEY)
.setDescription("A quality profile key. Either this parameter, or a combination of profileName + language must be set.")
- .setExampleValue("sonar-way-java-12345");
+ .setExampleValue(Uuids.UUID_EXAMPLE_01);
action.createParam(PARAM_PROFILE_NAME)
.setDescription("A quality profile name. If this parameter is set, profileKey must not be set and language must be set to disambiguate.")
.setExampleValue("Sonar way");
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService.NewAction;
import org.sonar.api.server.ws.WebService.NewController;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.qualityprofile.QualityProfileDto;
.setDescription("The key of the new parent profile. If this parameter is set, parentName must not be set. " +
"If both are left empty, the inheritance link with current parent profile (if any) is broken, which deactivates all rules " +
"which come from the parent and are not overridden. Require Administer Quality Profiles permission.")
- .setExampleValue("sonar-way-java-12345");
+ .setExampleValue(Uuids.UUID_EXAMPLE_02);
inheritance.createParam(PARAM_PARENT_NAME)
.setDescription("A quality profile name. If this parameter is set, profileKey must not be set and language must be set to disambiguate.")
.setExampleValue("Sonar way");
import org.sonar.api.server.ws.WebService.NewAction;
import org.sonar.api.server.ws.WebService.NewController;
import org.sonar.api.utils.text.JsonWriter;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.qualityprofile.ActiveRuleDto;
compare.createParam(PARAM_LEFT_KEY)
.setDescription("A profile key.")
- .setExampleValue("java-sonar-way-12345")
+ .setExampleValue(Uuids.UUID_EXAMPLE_01)
.setRequired(true);
compare.createParam(PARAM_RIGHT_KEY)
.setDescription("Another profile key.")
- .setExampleValue("java-sonar-way-with-findbugs-23456")
+ .setExampleValue(Uuids.UUID_EXAMPLE_02)
.setRequired(true);
}
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.NewAction;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.qualityprofile.QualityProfileDto;
@Override
public void define(WebService.NewController controller) {
NewAction setDefault = controller.createAction("copy")
- .setSince("5.2")
- .setDescription("Copy a quality profile. Require Administer Quality Profiles permission.")
- .setPost(true)
- .setHandler(this);
+ .setSince("5.2")
+ .setDescription("Copy a quality profile. Require Administer Quality Profiles permission.")
+ .setPost(true)
+ .setHandler(this);
setDefault.createParam(PARAM_PROFILE_NAME)
- .setDescription("The name for the new quality profile.")
- .setExampleValue("My Sonar way")
- .setRequired(true);
+ .setDescription("The name for the new quality profile.")
+ .setExampleValue("My Sonar way")
+ .setRequired(true);
setDefault.createParam(PARAM_PROFILE_KEY)
- .setDescription("The key of a quality profile.")
- .setExampleValue("sonar-way-js-12345")
- .setRequired(true);
+ .setDescription("The key of a quality profile.")
+ .setExampleValue(Uuids.UUID_EXAMPLE_01)
+ .setRequired(true);
}
@Override
Language language = languages.get(copiedProfile.getLanguage());
String parentKey = copiedProfile.getParentKee();
response.newJsonWriter()
- .beginObject()
- .prop("key", copiedProfile.getKey())
- .prop("name", copiedProfile.getName())
- .prop("language", languageKey)
- .prop("languageName", language == null ? null : language.getName())
- .prop("isDefault", copiedProfile.isDefault())
- .prop("isInherited", parentKey != null)
- .prop("parentKey", parentKey)
- .endObject().close();
+ .beginObject()
+ .prop("key", copiedProfile.getKey())
+ .prop("name", copiedProfile.getName())
+ .prop("language", languageKey)
+ .prop("languageName", language == null ? null : language.getName())
+ .prop("isDefault", copiedProfile.isDefault())
+ .prop("isInherited", parentKey != null)
+ .prop("parentKey", parentKey)
+ .endObject().close();
}
}
}
import org.sonar.api.resources.Languages;
import org.sonar.api.server.ws.WebService;
+import org.sonar.core.util.Uuids;
import org.sonar.server.util.LanguageParamUtils;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
.setExampleValue(KEY_PROJECT_EXAMPLE_001);
action.createParam(PARAM_PROFILE_KEY)
.setDescription("A quality profile key. Either this parameter, or a combination of profileName + language must be set.")
- .setExampleValue("sonar-way-java-12345");
+ .setExampleValue(Uuids.UUID_EXAMPLE_01);
action.createParam(PARAM_PROFILE_NAME)
.setDescription("A quality profile name. If this parameter is set, profileKey must not be set and language must be set to disambiguate.")
.setExampleValue("Soanr way");
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.api.web.UserRole;
import org.sonar.core.util.NonNullInputFunction;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.qualityprofile.ProjectQprofileAssociationDto;
projects.createParam(PARAM_KEY)
.setDescription("A quality profile key.")
.setRequired(true)
- .setExampleValue("sonar-way-java-12345");
+ .setExampleValue(Uuids.UUID_EXAMPLE_01);
projects.addSelectionModeParam();
projects.createParam(PARAM_QUERY)
.setDescription("If specified, return only projects whose name match the query.");
import org.sonar.api.resources.Languages;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.WebService;
+import org.sonar.core.util.Uuids;
import org.sonar.server.util.LanguageParamUtils;
import static com.google.common.base.Preconditions.checkArgument;
public static void defineParams(WebService.NewAction action, Languages languages) {
action.createParam(DEFAULT_PARAM_PROFILE_KEY)
.setDescription("A quality profile key. Either this parameter, or a combination of profileName + language must be set.")
- .setExampleValue("sonar-way-java-12345");
+ .setExampleValue(Uuids.UUID_EXAMPLE_01);
action.createParam(DEFAULT_PARAM_PROFILE_NAME)
.setDescription("A quality profile name. If this parameter is set, profileKey must not be set and language must be set to disambiguate.")
.setExampleValue("Sonar way");
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.NewAction;
+import org.sonar.core.util.Uuids;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.organization.OrganizationDto;
@Override
public void define(WebService.NewController controller) {
NewAction setDefault = controller.createAction("rename")
- .setSince("5.2")
- .setDescription("Rename a quality profile. Require Administer Quality Profiles permission.")
- .setPost(true)
- .setHandler(this);
+ .setSince("5.2")
+ .setDescription("Rename a quality profile. Require Administer Quality Profiles permission.")
+ .setPost(true)
+ .setHandler(this);
setDefault.createParam(PARAM_PROFILE_NAME)
- .setDescription("The new name for the quality profile.")
- .setExampleValue("My Sonar way")
- .setRequired(true);
+ .setDescription("The new name for the quality profile.")
+ .setExampleValue("My Sonar way")
+ .setRequired(true);
setDefault.createParam(PARAM_PROFILE_KEY)
- .setDescription("The key of a quality profile.")
- .setExampleValue("sonar-way-js-12345")
- .setRequired(true);
+ .setDescription("The key of a quality profile.")
+ .setExampleValue(Uuids.UUID_EXAMPLE_01)
+ .setRequired(true);
}
@Override
try (DbSession dbSession = dbClient.openSession(false)) {
QualityProfileDto qualityProfile = ofNullable(dbClient.qualityProfileDao().selectByKey(dbSession, profileKey))
- .orElseThrow(() -> new NotFoundException("Quality profile not found: " + profileKey));
+ .orElseThrow(() -> new NotFoundException("Quality profile not found: " + profileKey));
String organizationUuid = qualityProfile.getOrganizationUuid();
userSession.checkPermission(ADMINISTER_QUALITY_PROFILES, organizationUuid);
if (!Objects.equals(newName, qualityProfile.getName())) {
OrganizationDto organization = dbClient.organizationDao().selectByUuid(dbSession, organizationUuid)
- .orElseThrow(() -> new IllegalStateException("No organization found for uuid " + organizationUuid));
+ .orElseThrow(() -> new IllegalStateException("No organization found for uuid " + organizationUuid));
String language = qualityProfile.getLanguage();
ofNullable(dbClient.qualityProfileDao().selectByNameAndLanguage(organization, newName, language, dbSession))
- .ifPresent(found -> {
- throw BadRequestException.create(format("Quality profile already exists: %s", newName));
- });
+ .ifPresent(found -> {
+ throw BadRequestException.create(format("Quality profile already exists: %s", newName));
+ });
qualityProfile.setName(newName);
dbClient.qualityProfileDao().update(dbSession, qualityProfile);
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.utils.KeyValueFormat;
+import org.sonar.core.util.Uuids;
import org.sonar.db.qualityprofile.ActiveRuleKey;
import org.sonar.server.qualityprofile.QProfileService;
import org.sonar.server.qualityprofile.RuleActivation;
action.createParam(PROFILE_KEY)
.setDescription("Key of Quality profile, can be obtained through <code>api/profiles/list</code>")
.setRequired(true)
- .setExampleValue("java-sonar-way-80423");
+ .setExampleValue(Uuids.UUID_EXAMPLE_01);
action.createParam(RULE_KEY)
.setDescription("Key of the rule")
{
"left" : {
- "key" : "js-my-profile-19170",
+ "key" : "AU-TpxcA-iU5OvuD2FL1",
"name" : "My Profile"
},
"right" : {
- "key" : "js-my-other-profile-12367",
+ "key" : "AU-TpxcA-iU5OvuD2FL5",
"name" : "My Other Profile"
},
"same" : [
"language" : "java",
"languageName" : "Java",
"name" : "My New Profile",
- "key" : "my-new-profile-07284"
+ "key" : "AU-TpxcA-iU5OvuD2FL1"
},
"warnings" : [
"Unable to import unknown PMD rule 'rulesets/java/strings.xml'",
{
"profile": {
- "key": "xoo-my-bu-profile-23456",
+ "key": "AU-TpxcA-iU5OvuD2FL5",
"name": "My BU Profile",
- "parent": "xoo-my-company-profile-12345",
+ "parent": "AU-TpxcA-iU5OvuD2FL2",
"activeRuleCount": 3,
"overridingRuleCount": 1
},
"ancestors": [
{
- "key": "xoo-my-company-profile-12345",
+ "key": "AU-TpxcA-iU5OvuD2FL1",
"name": "My Company Profile",
"parent": "xoo-my-group-profile-01234",
"activeRuleCount": 3
},
{
- "key": "xoo-my-group-profile-01234",
+ "key": "AU-TpxcA-iU5OvuD2FL0",
"name": "My Group Profile",
"activeRuleCount": 2
}
],
"children": [
{
- "key": "xoo-for-project-one-34567",
+ "key": "AU-TpxcB-iU5OvuD2FL6",
"name": "For Project One",
"activeRuleCount": 5
},
{
- "key": "xoo-for-project-two-45678",
+ "key": "AU-TpxcB-iU5OvuD2FL7",
"name": "For Project Two",
"activeRuleCount": 4,
"overridingRuleCount": 1
{
"profiles": [
{
- "key": "sonar-way-cs-12345",
+ "key": "AU-TpxcA-iU5OvuD2FL3",
"name": "Sonar way",
"language": "cs",
"languageName": "C#",
"lastUsed": "2016-12-01T19:10:03+0100"
},
{
- "key": "my-bu-profile-java-34567",
+ "key": "AU-TpxcA-iU5OvuD2FL1",
"name": "My BU Profile",
"language": "java",
"languageName": "Java",
"userUpdatedAt": "2016-06-28T21:57:01+0200"
},
{
- "key": "my-company-profile-java-23456",
+ "key": "iU5OvuD2FLz",
"name": "My Company Profile",
"language": "java",
"languageName": "Java",
"userUpdatedAt": "2016-06-29T21:57:01+0200"
},
{
- "key": "sonar-way-python-01234",
+ "key": "AU-TpxcB-iU5OvuD2FL7",
"name": "Sonar way",
"language": "py",
"languageName": "Python",