]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6315 use standard UUID in examples for QP keys
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 15 Mar 2017 09:37:23 +0000 (10:37 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 23 Mar 2017 16:38:34 +0000 (17:38 +0100)
13 files changed:
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRef.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ChangeParentAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/CompareAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/CopyAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectAssociationParameters.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ProjectsAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/QProfileReference.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RenameAction.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/RuleActivationActions.java
server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-compare.json
server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-create.json
server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/example-inheritance.json
server/sonar-server/src/main/resources/org/sonar/server/qualityprofile/ws/search-example.json

index 098b02da4d84729bfac9a38f7a3e91dc7772323e..98e4be93989ba4104d70dd78bf7b6065ad22bcab 100644 (file)
@@ -23,6 +23,7 @@ import javax.annotation.Nullable;
 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;
 
@@ -147,7 +148,7 @@ public class QProfileRef {
   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");
index cd935d8fcb94412df1e58554b8143653129ce171..a7514962025adef96578da69d58e48037b41df02 100644 (file)
@@ -24,6 +24,7 @@ import org.sonar.api.server.ws.Request;
 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;
@@ -67,7 +68,7 @@ public class ChangeParentAction implements QProfileWsAction {
       .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");
index e1d06f929ba25ed35d3f3c817ad7d484cde2e7b8..7204dbfa97f3071e7889a02d81a3b26984222320 100644 (file)
@@ -37,6 +37,7 @@ 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.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;
@@ -90,12 +91,12 @@ public class CompareAction implements QProfileWsAction {
 
     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);
   }
 
index 2a9c49279fec574e68b336d1c0e8bd834b4cd14b..9627e4c7a4fabcc6359590f15efa1f3053d2ff05 100644 (file)
@@ -25,6 +25,7 @@ import org.sonar.api.server.ws.Request;
 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;
@@ -50,20 +51,20 @@ public class CopyAction implements QProfileWsAction {
   @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
@@ -80,15 +81,15 @@ public class CopyAction implements QProfileWsAction {
       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();
     }
   }
 }
index b61395421ffa1d7c317e00cfaac1e7bb0028f335..23d8552ac2e908e3172123a0a7465a1c99aa230c 100644 (file)
@@ -21,6 +21,7 @@ package org.sonar.server.qualityprofile.ws;
 
 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;
@@ -48,7 +49,7 @@ public class ProjectAssociationParameters {
       .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");
index 6a9619d6b02446b337096f1c28a39e3acdcd3fe3..3c942e04f971e6ab84e5cb137050b1b7d8601653 100644 (file)
@@ -38,6 +38,7 @@ import org.sonar.api.utils.Paging;
 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;
@@ -73,7 +74,7 @@ public class ProjectsAction implements QProfileWsAction {
     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.");
index db65f623bfa0ea784c5d326924e0ea69b92dfec0..c492fb733214810337de692fcc764ab8ca23f66c 100644 (file)
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
 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;
@@ -175,7 +176,7 @@ public class QProfileReference {
   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");
index 19a45404d7cc704c1925aa7c3495007644d9a61c..59769f2c9e39d1a0954ff2e2b51b0117ce7d6fd8 100644 (file)
@@ -26,6 +26,7 @@ import org.sonar.api.server.ws.Request;
 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;
@@ -61,20 +62,20 @@ public class RenameAction implements QProfileWsAction {
   @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
@@ -93,19 +94,19 @@ public class RenameAction implements QProfileWsAction {
 
     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);
index a944851ee813fd27fac6c1cc8d645b7d2a448a77..210a6e7312060c4b1b02449295a1f40a8f1e726c 100644 (file)
@@ -26,6 +26,7 @@ import org.sonar.api.server.ws.Request;
 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;
@@ -91,7 +92,7 @@ public class RuleActivationActions {
     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")
index 396a06c8918e9fba97515beadb3328646707daed..82f84ee04467fa8ff3ae6e3a39f4b03dc15dd93d 100644 (file)
@@ -1,10 +1,10 @@
 {
    "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" : [
index 46d7563900432415c1c500613304f63f598ab30d..b154d6233ae79eb60aebec11cfd1766efbd61606 100644 (file)
@@ -5,7 +5,7 @@
     "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'",
index 743a4b7a18be40df1f498d071a2835a0109bd8f0..82a75e79fd08c03b28802cc324ab04c4041816e8 100644 (file)
@@ -1,32 +1,32 @@
 {
   "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
index a479e17a4a1e4cc4cecadff2803b2f46d2de7b20..b9b73044acfe26c7193a55514698b248905a43a5 100644 (file)
@@ -1,7 +1,7 @@
 {
   "profiles": [
     {
-      "key": "sonar-way-cs-12345",
+      "key": "AU-TpxcA-iU5OvuD2FL3",
       "name": "Sonar way",
       "language": "cs",
       "languageName": "C#",
@@ -13,7 +13,7 @@
       "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",
@@ -29,7 +29,7 @@
       "userUpdatedAt": "2016-06-28T21:57:01+0200"
     },
     {
-      "key": "my-company-profile-java-23456",
+      "key": "iU5OvuD2FLz",
       "name": "My Company Profile",
       "language": "java",
       "languageName": "Java",
@@ -41,7 +41,7 @@
       "userUpdatedAt": "2016-06-29T21:57:01+0200"
     },
     {
-      "key": "sonar-way-python-01234",
+      "key": "AU-TpxcB-iU5OvuD2FL7",
       "name": "Sonar way",
       "language": "py",
       "languageName": "Python",