diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/RoleCommand.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/RoleCommand.java index 47aee646e..bc66dd72c 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/RoleCommand.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/RoleCommand.java @@ -10,7 +10,6 @@ public class RoleCommand { private final Long id; private final String name; private final String description; - private final String[] permissions; private final Set modifiedParameters; @@ -19,7 +18,6 @@ public class RoleCommand { this.id = id; this.name = name; this.description = description; - this.permissions = permissionIds; } public Long getId() { @@ -34,10 +32,6 @@ public class RoleCommand { return description; } - public String[] getPermissions() { - return permissions; - } - public boolean isNameChanged() { return this.modifiedParameters.contains("name"); } diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/user/domain/Role.java b/mifosng-provider/src/main/java/org/mifosng/platform/user/domain/Role.java index b7ca99142..d98d97a49 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/user/domain/Role.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/user/domain/Role.java @@ -3,7 +3,6 @@ package org.mifosng.platform.user.domain; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; -import java.util.List; import java.util.Set; import javax.persistence.Column; @@ -39,10 +38,9 @@ public class Role extends AbstractAuditableCustom { this.permissions = new HashSet(); } - public Role(final String name, final String description, final List rolePermissions) { + public Role(final String name, final String description) { this.name = name.trim(); this.description = description.trim(); - this.permissions = new HashSet(rolePermissions); } public Collection getPermissions() { @@ -71,7 +69,7 @@ public class Role extends AbstractAuditableCustom { return new RoleData(this.getId(), this.name, this.description, rolePermissions); } - public void update(final RoleCommand command, final List selectedPermissions) { + public void update(final RoleCommand command) { if (command.isNameChanged()) { this.name = command.getName(); } @@ -80,10 +78,6 @@ public class Role extends AbstractAuditableCustom { this.description = command.getDescription(); } - if (command.isPermissionsChanged()) { - this.permissions.clear(); - this.permissions = new HashSet(selectedPermissions); - } } public String getName() { diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleCommandValidator.java b/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleCommandValidator.java index 8ae5c4061..2b8dec3db 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleCommandValidator.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleCommandValidator.java @@ -23,7 +23,6 @@ public class RoleCommandValidator { baseDataValidator.reset().parameter("name").value(command.getName()).notBlank(); baseDataValidator.reset().parameter("description").value(command.getDescription()).notBlank().notExceedingLengthOf(500); - baseDataValidator.reset().parameter("permissions").value(command.getPermissions()).arrayNotEmpty(); if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors); @@ -38,9 +37,8 @@ public class RoleCommandValidator { baseDataValidator.reset().parameter("id").value(command.getId()).notNull(); baseDataValidator.reset().parameter("name").value(command.getName()).ignoreIfNull().notBlank(); baseDataValidator.reset().parameter("description").value(command.getDescription()).ignoreIfNull().notBlank().notExceedingLengthOf(500); - baseDataValidator.reset().parameter("permissions").value(command.getPermissions()).ignoreIfNull().arrayNotEmpty(); - baseDataValidator.reset().anyOfNotNull(command.getName(), command.getDescription(), command.getPermissions()); + baseDataValidator.reset().anyOfNotNull(command.getName(), command.getDescription()); if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors); diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java index 886fa1065..69c1c2ef1 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java @@ -1,8 +1,6 @@ package org.mifosng.platform.user.service; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; import java.util.Map; import org.mifosng.platform.accounting.api.commands.RolePermissionCommand; @@ -17,7 +15,6 @@ import org.mifosng.platform.user.domain.RoleRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ObjectUtils; @Service public class RoleWritePlatformServiceJpaRepositoryImpl implements @@ -47,11 +44,7 @@ public class RoleWritePlatformServiceJpaRepositoryImpl implements RoleCommandValidator validator = new RoleCommandValidator(command); validator.validateForCreate(); - List selectedPermissions = assembleListOfSelectedPermissions(command - .getPermissions()); - - Role entity = new Role(command.getName(), command.getDescription(), - selectedPermissions); + Role entity = new Role(command.getName(), command.getDescription()); this.roleRepository.save(entity); @@ -67,14 +60,11 @@ public class RoleWritePlatformServiceJpaRepositoryImpl implements RoleCommandValidator validator = new RoleCommandValidator(command); validator.validateForUpdate(); - List selectedPermissions = assembleListOfSelectedPermissions(command - .getPermissions()); - Role role = this.roleRepository.findOne(command.getId()); if (role == null) { throw new RoleNotFoundException(command.getId()); } - role.update(command, selectedPermissions); + role.update(command); this.roleRepository.save(role); @@ -131,25 +121,4 @@ public class RoleWritePlatformServiceJpaRepositoryImpl implements throw new PermissionNotFoundException(permissionCode); } - - private List assembleListOfSelectedPermissions( - final String[] selectedPermissionsArray) { - List selectedPermissionIds = new ArrayList(); - List selectedPermissions = new ArrayList(); - - if (!ObjectUtils.isEmpty(selectedPermissionsArray)) { - for (String selectedId : selectedPermissionsArray) { - selectedPermissionIds.add(Long.valueOf(selectedId)); - } - - Collection allPermissions = this.permissionRepository - .findAll(); - for (Permission permission : allPermissions) { - if (selectedPermissionIds.contains(permission.getId())) { - selectedPermissions.add(permission); - } - } - } - return selectedPermissions; - } } \ No newline at end of file