code formatting police.
This commit is contained in:
+12
-11
@@ -33,13 +33,13 @@ public class PermissionsApiResource {
|
||||
|
||||
@Autowired
|
||||
private PermissionReadPlatformService permissionReadPlatformService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private PermissionWritePlatformService permissionWritePlatformService;
|
||||
|
||||
@Autowired
|
||||
private PortfolioApiDataConversionService apiDataConversionService;
|
||||
|
||||
@Autowired
|
||||
private PortfolioApiDataConversionService apiDataConversionService;
|
||||
|
||||
@Autowired
|
||||
private PortfolioApiJsonSerializerService apiJsonSerializerService;
|
||||
|
||||
@@ -56,17 +56,19 @@ public class PermissionsApiResource {
|
||||
context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);
|
||||
|
||||
final boolean makerCheckerable = ApiParameterHelper.makerCheckerable(uriInfo.getQueryParameters());
|
||||
|
||||
|
||||
final Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||
final boolean prettyPrint = ApiParameterHelper.prettyPrint(uriInfo.getQueryParameters());
|
||||
|
||||
|
||||
Collection<PermissionUsageData> permissions = null;
|
||||
if (makerCheckerable) permissions = this.permissionReadPlatformService.retrieveAllMakerCheckerablePermissions();
|
||||
else permissions = this.permissionReadPlatformService.retrieveAllPermissions();
|
||||
if (makerCheckerable) {
|
||||
permissions = this.permissionReadPlatformService.retrieveAllMakerCheckerablePermissions();
|
||||
} else {
|
||||
permissions = this.permissionReadPlatformService.retrieveAllPermissions();
|
||||
}
|
||||
|
||||
return this.apiJsonSerializerService.serializePermissionDataToJson(prettyPrint, responseParameters, permissions);
|
||||
}
|
||||
|
||||
|
||||
@PUT
|
||||
@Consumes({ MediaType.APPLICATION_JSON })
|
||||
@@ -77,7 +79,6 @@ public class PermissionsApiResource {
|
||||
|
||||
final Long entityId = this.permissionWritePlatformService.updateMakerCheckerPermissions(command);
|
||||
|
||||
return Response.ok().entity(new EntityIdentifier(entityId)).build();
|
||||
return Response.ok().entity(new EntityIdentifier(entityId)).build();
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -10,7 +10,7 @@ public class PermissionsCommand {
|
||||
private final Map<String, Boolean> permissions;
|
||||
|
||||
private final transient boolean makerCheckerApproval;
|
||||
|
||||
|
||||
public PermissionsCommand(final Map<String, Boolean> permissionsMap, final boolean makerCheckerApproval) {
|
||||
this.permissions = permissionsMap;
|
||||
this.makerCheckerApproval = makerCheckerApproval;
|
||||
@@ -19,7 +19,7 @@ public class PermissionsCommand {
|
||||
public Map<String, Boolean> getPermissions() {
|
||||
return this.permissions;
|
||||
}
|
||||
|
||||
|
||||
public boolean isApprovedByChecker() {
|
||||
return this.makerCheckerApproval;
|
||||
}
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ public interface PortfolioApiDataConversionService {
|
||||
RoleCommand convertApiRequestJsonToRoleCommand(Long resourceIdentifier, String json);
|
||||
|
||||
PermissionsCommand convertApiRequestJsonToPermissionsCommand(String jsonRequestBody);
|
||||
|
||||
|
||||
RolePermissionCommand convertApiRequestJsonToRolePermissionCommand(Long roleId, String jsonRequestBody);
|
||||
|
||||
UserCommand convertApiRequestJsonToUserCommand(Long resourceIdentifier, String json);
|
||||
|
||||
@@ -24,8 +24,7 @@ public class Permission extends AbstractPersistable<Long> {
|
||||
@Column(name = "action_name", nullable = true, length = 100)
|
||||
private final String actionName;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Column(name = "can_maker_checker", nullable = false)
|
||||
@Column(name = "can_maker_checker", nullable = false)
|
||||
private boolean canMakerChecker;
|
||||
|
||||
protected Permission() {
|
||||
@@ -40,20 +39,19 @@ public class Permission extends AbstractPersistable<Long> {
|
||||
return this.code.equalsIgnoreCase(checkCode);
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
public String getCode() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
public boolean hasMakerCheckerEnabled() {
|
||||
return this.canMakerChecker;
|
||||
}
|
||||
|
||||
public void setCanMakerChecker(Boolean canMakerChecker) {
|
||||
this.canMakerChecker = canMakerChecker;
|
||||
}
|
||||
|
||||
public String getGrouping() {
|
||||
return this.grouping;
|
||||
}
|
||||
|
||||
public String getGrouping() {
|
||||
return this.grouping;
|
||||
}
|
||||
|
||||
public void enableMakerChecker(final boolean canMakerChecker) {
|
||||
this.canMakerChecker = canMakerChecker;
|
||||
}
|
||||
}
|
||||
+67
-78
@@ -15,102 +15,91 @@ import org.springframework.jdbc.core.RowMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PermissionReadPlatformServiceImpl implements
|
||||
PermissionReadPlatformService {
|
||||
public class PermissionReadPlatformServiceImpl implements PermissionReadPlatformService {
|
||||
|
||||
private final static Logger logger = LoggerFactory
|
||||
.getLogger(PermissionReadPlatformService.class);
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
private final PlatformSecurityContext context;
|
||||
private final static Logger logger = LoggerFactory.getLogger(PermissionReadPlatformService.class);
|
||||
|
||||
@Autowired
|
||||
public PermissionReadPlatformServiceImpl(
|
||||
final PlatformSecurityContext context,
|
||||
final TenantAwareRoutingDataSource dataSource) {
|
||||
this.context = context;
|
||||
this.jdbcTemplate = new JdbcTemplate(dataSource);
|
||||
}
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
private final PlatformSecurityContext context;
|
||||
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllPermissions() {
|
||||
@Autowired
|
||||
public PermissionReadPlatformServiceImpl(final PlatformSecurityContext context, final TenantAwareRoutingDataSource dataSource) {
|
||||
this.context = context;
|
||||
this.jdbcTemplate = new JdbcTemplate(dataSource);
|
||||
}
|
||||
|
||||
context.authenticatedUser();
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllPermissions() {
|
||||
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.permissionSchema();
|
||||
logger.info("retrieveAllPermissions: " + sql);
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
|
||||
}
|
||||
context.authenticatedUser();
|
||||
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllMakerCheckerablePermissions() {
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.permissionSchema();
|
||||
logger.info("retrieveAllPermissions: " + sql);
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
|
||||
}
|
||||
|
||||
context.authenticatedUser();
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllMakerCheckerablePermissions() {
|
||||
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.makerCheckerablePermissionSchema();
|
||||
logger.info("retrieveAllMakerCheckerablePermissions: " + sql);
|
||||
context.authenticatedUser();
|
||||
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
|
||||
}
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.makerCheckerablePermissionSchema();
|
||||
logger.info("retrieveAllMakerCheckerablePermissions: " + sql);
|
||||
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllRolePermissions(
|
||||
final Long roleId) {
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
|
||||
}
|
||||
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.rolePermissionSchema();
|
||||
logger.info("retrieveAllRolePermissions: " + sql);
|
||||
@Override
|
||||
public Collection<PermissionUsageData> retrieveAllRolePermissions(final Long roleId) {
|
||||
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] { roleId });
|
||||
}
|
||||
final PermissionUsageDataMapper mapper = new PermissionUsageDataMapper();
|
||||
final String sql = mapper.rolePermissionSchema();
|
||||
logger.info("retrieveAllRolePermissions: " + sql);
|
||||
|
||||
private static final class PermissionUsageDataMapper implements
|
||||
RowMapper<PermissionUsageData> {
|
||||
return this.jdbcTemplate.query(sql, mapper, new Object[] { roleId });
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionUsageData mapRow(final ResultSet rs,
|
||||
@SuppressWarnings("unused") final int rowNum)
|
||||
throws SQLException {
|
||||
private static final class PermissionUsageDataMapper implements RowMapper<PermissionUsageData> {
|
||||
|
||||
final String grouping = rs.getString("grouping");
|
||||
final String code = rs.getString("code");
|
||||
final String entityName = rs.getString("entityName");
|
||||
final String actionName = rs.getString("actionName");
|
||||
final Boolean selected = rs.getBoolean("selected");
|
||||
@Override
|
||||
public PermissionUsageData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException {
|
||||
|
||||
return new PermissionUsageData(grouping, code, entityName,
|
||||
actionName, selected);
|
||||
}
|
||||
final String grouping = rs.getString("grouping");
|
||||
final String code = rs.getString("code");
|
||||
final String entityName = rs.getString("entityName");
|
||||
final String actionName = rs.getString("actionName");
|
||||
final Boolean selected = rs.getBoolean("selected");
|
||||
|
||||
public String permissionSchema() {
|
||||
/* get all non-CHECKER permissions */
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, true as selected"
|
||||
+ " from m_permission p "
|
||||
+ " where code not like '%\\_CHECKER'"
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
return new PermissionUsageData(grouping, code, entityName, actionName, selected);
|
||||
}
|
||||
|
||||
public String makerCheckerablePermissionSchema() {
|
||||
/*
|
||||
* get all 'Maker-Checkerable' permissions - Maintenance permissions
|
||||
* (i.e. exclude the 'special' grouping, the READ permissions and
|
||||
* the CHECKER permissions
|
||||
*/
|
||||
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, p.can_maker_checker as selected"
|
||||
+ " from m_permission p "
|
||||
+ " where grouping != 'special' and code not like 'READ_%' and code not like '%\\_CHECKER'"
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
public String permissionSchema() {
|
||||
/* get all non-CHECKER permissions */
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, true as selected"
|
||||
+ " from m_permission p " + " where code not like '%\\_CHECKER'"
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
|
||||
public String rolePermissionSchema() {
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, if(isnull(rp.role_id), false, true) as selected "
|
||||
+ " from m_permission p "
|
||||
+ " left join m_role_permission rp on rp.permission_id = p.id and rp.role_id = ? "
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
}
|
||||
public String makerCheckerablePermissionSchema() {
|
||||
/*
|
||||
* get all 'Maker-Checkerable' permissions - Maintenance permissions
|
||||
* (i.e. exclude the 'special' grouping, the READ permissions and
|
||||
* the CHECKER permissions
|
||||
*/
|
||||
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, p.can_maker_checker as selected"
|
||||
+ " from m_permission p " + " where grouping != 'special' and code not like 'READ_%' and code not like '%\\_CHECKER'"
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
|
||||
public String rolePermissionSchema() {
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, if(isnull(rp.role_id), false, true) as selected "
|
||||
+ " from m_permission p "
|
||||
+ " left join m_role_permission rp on rp.permission_id = p.id and rp.role_id = ? "
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+33
-45
@@ -13,62 +13,50 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
public class PermissionWritePlatformServiceJpaRepositoryImpl implements
|
||||
PermissionWritePlatformService {
|
||||
public class PermissionWritePlatformServiceJpaRepositoryImpl implements PermissionWritePlatformService {
|
||||
|
||||
private final PlatformSecurityContext context;
|
||||
private final PermissionRepository permissionRepository;
|
||||
private final PlatformSecurityContext context;
|
||||
private final PermissionRepository permissionRepository;
|
||||
|
||||
@Autowired
|
||||
public PermissionWritePlatformServiceJpaRepositoryImpl(
|
||||
final PlatformSecurityContext context,
|
||||
final PermissionRepository permissionRepository) {
|
||||
this.context = context;
|
||||
this.permissionRepository = permissionRepository;
|
||||
}
|
||||
@Autowired
|
||||
public PermissionWritePlatformServiceJpaRepositoryImpl(final PlatformSecurityContext context,
|
||||
final PermissionRepository permissionRepository) {
|
||||
this.context = context;
|
||||
this.permissionRepository = permissionRepository;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public Long updateMakerCheckerPermissions(final PermissionsCommand command) {
|
||||
context.authenticatedUser();
|
||||
@Transactional
|
||||
@Override
|
||||
public Long updateMakerCheckerPermissions(final PermissionsCommand command) {
|
||||
context.authenticatedUser();
|
||||
|
||||
final Collection<Permission> allPermissions = this.permissionRepository
|
||||
.findAll();
|
||||
final Collection<Permission> allPermissions = this.permissionRepository.findAll();
|
||||
|
||||
final Map<String, Boolean> commandPermissions = command
|
||||
.getPermissions();
|
||||
for (final String permissionCode : commandPermissions.keySet()) {
|
||||
final Map<String, Boolean> commandPermissions = command.getPermissions();
|
||||
for (final String permissionCode : commandPermissions.keySet()) {
|
||||
|
||||
final Permission permission = findPermissionByCode(allPermissions,
|
||||
permissionCode);
|
||||
final Permission permission = findPermissionByCode(allPermissions, permissionCode);
|
||||
|
||||
if (permission.getCode().endsWith("_CHECKER")
|
||||
|| permission.getCode().startsWith("READ_")
|
||||
|| permission.getGrouping().equalsIgnoreCase("special")) {
|
||||
throw new PermissionNotFoundException(permissionCode);
|
||||
}
|
||||
if (permission.getCode().endsWith("_CHECKER") || permission.getCode().startsWith("READ_")
|
||||
|| permission.getGrouping().equalsIgnoreCase("special")) { throw new PermissionNotFoundException(permissionCode); }
|
||||
|
||||
final boolean isSelected = commandPermissions.get(permissionCode)
|
||||
.booleanValue();
|
||||
permission.setCanMakerChecker(isSelected);
|
||||
final boolean isSelected = commandPermissions.get(permissionCode).booleanValue();
|
||||
permission.enableMakerChecker(isSelected);
|
||||
|
||||
this.permissionRepository.save(permission);
|
||||
}
|
||||
this.permissionRepository.save(permission);
|
||||
}
|
||||
|
||||
return new Long(0);
|
||||
}
|
||||
return new Long(0);
|
||||
}
|
||||
|
||||
private Permission findPermissionByCode(
|
||||
Collection<Permission> allPermissions, String permissionCode) {
|
||||
private Permission findPermissionByCode(Collection<Permission> allPermissions, String permissionCode) {
|
||||
|
||||
if (allPermissions != null) {
|
||||
for (Permission permission : allPermissions) {
|
||||
if (permission.hasCode(permissionCode)) {
|
||||
return permission;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (allPermissions != null) {
|
||||
for (Permission permission : allPermissions) {
|
||||
if (permission.hasCode(permissionCode)) { return permission; }
|
||||
}
|
||||
}
|
||||
|
||||
throw new PermissionNotFoundException(permissionCode);
|
||||
}
|
||||
throw new PermissionNotFoundException(permissionCode);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user