code formatting police.

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