From: Jean-Baptiste Vilain Date: Fri, 12 Jul 2013 16:28:48 +0000 (+0200) Subject: SONAR-4453 Updated internal permission service to use logical key X-Git-Tag: 3.7~131 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5d1186ff6488d5b01c07f07613cfd39cb93b9746;p=sonarqube.git SONAR-4453 Updated internal permission service to use logical key --- diff --git a/sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java b/sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java index dd6eea9b2b4..18f7099c385 100644 --- a/sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java +++ b/sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java @@ -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 selectedComponents; - private ApplyPermissionTemplateQuery(@Nullable Long templateId) { - this.templateId= templateId; + private ApplyPermissionTemplateQuery(@Nullable String templateKey) { + this.templateKey = templateKey; } public static ApplyPermissionTemplateQuery buildFromParams(Map 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 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()) { diff --git a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java index 162bd1111e0..3fdcc998ab8 100644 --- a/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java +++ b/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java @@ -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 params) { diff --git a/sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java b/sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java index 363be4b9fa2..b83b026ba63 100644 --- a/sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java +++ b/sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java @@ -41,12 +41,12 @@ public class ApplyPermissionTemplateQueryTest { public void should_populate_with_params() throws Exception { Map 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 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 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); diff --git a/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java b/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java index 0f5d9a7af33..6dd2f92fca6 100644 --- a/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java +++ b/sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java @@ -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 {