]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4453 Updated internal permission service to use logical key
authorJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>
Fri, 12 Jul 2013 16:28:48 +0000 (18:28 +0200)
committerJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>
Fri, 12 Jul 2013 16:28:48 +0000 (18:28 +0200)
sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java
sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java
sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java

index dd6eea9b2b445d4a965373c5a97d36dc3ce1724c..18f7099c385aaf3efa9e4356dea956acdf4f89e5 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.sonar.server.permission;
 
+import org.apache.commons.lang.StringUtils;
 import org.picocontainer.annotations.Nullable;
 import org.sonar.server.exceptions.BadRequestException;
 import org.sonar.server.util.RubyUtils;
@@ -29,24 +30,24 @@ import java.util.Map;
 
 public class ApplyPermissionTemplateQuery {
 
-  private static final String TEMPLATE_ID = "template_id";
+  private static final String TEMPLATE_KEY = "template_key";
   private static final String COMPONENTS_KEY = "components";
 
-  private final Long templateId;
+  private final String templateKey;
   private List<String> selectedComponents;
 
-  private ApplyPermissionTemplateQuery(@Nullable Long templateId) {
-    this.templateId= templateId;
+  private ApplyPermissionTemplateQuery(@Nullable String templateKey) {
+    this.templateKey = templateKey;
   }
 
   public static ApplyPermissionTemplateQuery buildFromParams(Map<String, Object> params) {
-    ApplyPermissionTemplateQuery query = new ApplyPermissionTemplateQuery(RubyUtils.toLong(params.get(TEMPLATE_ID)));
+    ApplyPermissionTemplateQuery query = new ApplyPermissionTemplateQuery((String)params.get(TEMPLATE_KEY));
     query.setSelectedComponents(RubyUtils.toStrings(params.get(COMPONENTS_KEY)));
     return query;
   }
 
-  public Long getTemplateId() {
-    return templateId;
+  public String getTemplateKey() {
+    return templateKey;
   }
 
   public List<String> getSelectedComponents() {
@@ -54,7 +55,7 @@ public class ApplyPermissionTemplateQuery {
   }
 
   public void validate() {
-    if(templateId == null) {
+    if(StringUtils.isBlank(templateKey)) {
       throw new BadRequestException("Permission template is mandatory");
     }
     if(selectedComponents == null || selectedComponents.isEmpty()) {
index 162bd1111e0ac60d751555f08ef31f8f3cdd683c..3fdcc998ab841bdc9c5893517e2a813eda4309f3 100644 (file)
@@ -67,12 +67,12 @@ public class InternalPermissionService implements ServerComponent {
     ApplyPermissionTemplateQuery query = ApplyPermissionTemplateQuery.buildFromParams(params);
     query.validate();
     for (String component : query.getSelectedComponents()) {
-      applyPermissionTemplate(query.getTemplateId(), component);
+      applyPermissionTemplate(query.getTemplateKey(), component);
     }
   }
 
-  private void applyPermissionTemplate(Long templateId, String componentId) {
-    permissionFacade.applyPermissionTemplate(templateId, Long.parseLong(componentId));
+  private void applyPermissionTemplate(String templateKey, String componentId) {
+    permissionFacade.applyPermissionTemplate(templateKey, Long.parseLong(componentId));
   }
 
   private void changePermission(String permissionChange, Map<String, Object> params) {
index 363be4b9fa24fa244ddcca4e3e9f5fc291b2dc4a..b83b026ba637964fbe2aa4d166ec64083507e18e 100644 (file)
@@ -41,12 +41,12 @@ public class ApplyPermissionTemplateQueryTest {
   public void should_populate_with_params() throws Exception {
 
     Map<String, Object> params = Maps.newHashMap();
-    params.put("template_id", "1");
+    params.put("template_key", "my_template_key");
     params.put("components", Lists.newArrayList("1", "2", "3"));
 
     ApplyPermissionTemplateQuery query = ApplyPermissionTemplateQuery.buildFromParams(params);
 
-    assertThat(query.getTemplateId()).isEqualTo(1L);
+    assertThat(query.getTemplateKey()).isEqualTo("my_template_key");
     assertThat(query.getSelectedComponents()).containsOnly("1", "2", "3");
   }
 
@@ -57,7 +57,7 @@ public class ApplyPermissionTemplateQueryTest {
     throwable.expectMessage("Permission template is mandatory");
 
     Map<String, Object> params = Maps.newHashMap();
-    params.put("template_id", "");
+    params.put("template_key", "");
     params.put("components", Lists.newArrayList("1", "2", "3"));
 
     ApplyPermissionTemplateQuery query = ApplyPermissionTemplateQuery.buildFromParams(params);
@@ -71,7 +71,7 @@ public class ApplyPermissionTemplateQueryTest {
     throwable.expectMessage("Please provide at least one entry to which the permission template should be applied");
 
     Map<String, Object> params = Maps.newHashMap();
-    params.put("template_id", "1");
+    params.put("template_key", "my_template_key");
     params.put("components", Collections.EMPTY_LIST);
 
     ApplyPermissionTemplateQuery query = ApplyPermissionTemplateQuery.buildFromParams(params);
index 0f5d9a7af33c48e1e04498ddb82e6dcaa476661b..6dd2f92fca610aa018147275e24a37ba5e344f37 100644 (file)
@@ -181,14 +181,14 @@ public class InternalPermissionServiceTest {
   @Test
   public void should_apply_permission_template() throws Exception {
     params = Maps.newHashMap();
-    params.put("template_id", "1");
+    params.put("template_key", "my_template_key");
     params.put("components", "1,2,3");
 
     service.applyPermissionTemplate(params);
 
-    verify(permissionFacade).applyPermissionTemplate(1L, 1L);
-    verify(permissionFacade).applyPermissionTemplate(1L, 2L);
-    verify(permissionFacade).applyPermissionTemplate(1L, 3L);
+    verify(permissionFacade).applyPermissionTemplate("my_template_key", 1L);
+    verify(permissionFacade).applyPermissionTemplate("my_template_key", 2L);
+    verify(permissionFacade).applyPermissionTemplate("my_template_key", 3L);
   }
 
   protected static class MatchesUserRole extends BaseMatcher<UserRoleDto> {