aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>2013-07-12 18:28:48 +0200
committerJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>2013-07-12 18:28:48 +0200
commit5d1186ff6488d5b01c07f07613cfd39cb93b9746 (patch)
tree96d950b570614e31e0dd0b7b651b2cc129e09e69
parente0a6d2b9487e560dc62cec0ef872144e80fc3752 (diff)
downloadsonarqube-5d1186ff6488d5b01c07f07613cfd39cb93b9746.tar.gz
sonarqube-5d1186ff6488d5b01c07f07613cfd39cb93b9746.zip
SONAR-4453 Updated internal permission service to use logical key
-rw-r--r--sonar-server/src/main/java/org/sonar/server/permission/ApplyPermissionTemplateQuery.java17
-rw-r--r--sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java6
-rw-r--r--sonar-server/src/test/java/org/sonar/server/permission/ApplyPermissionTemplateQueryTest.java8
-rw-r--r--sonar-server/src/test/java/org/sonar/server/permission/InternalPermissionServiceTest.java8
4 files changed, 20 insertions, 19 deletions
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<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()) {
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<String, Object> 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<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);
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<UserRoleDto> {