Извлечь дублированный код в функцию. Например:
private Map<String, String> getUserAttributes(User user)
{
Map<String, String> map = new HashMap<>();
map.put("facility", StringUtils.join(user.getLocationsCodes(), ","));
map.put("division", StringUtils.join(user.getDivisionsCodes(), ","));
checkAccess(ACCESS_REPORTING1, "can_access_report1", map);
checkAccess(ACCESS_REPORTING2, "can_access_report2", map);
checkAccess(ACCESS_REPORTING3, "can_access_report3", map);
checkAccess(ACCESS_REPORTING4, "can_access_report4", map);
checkAccess(ACCESS_REPORTING5, "can_access_report5", map);
checkAccess(ACCESS_REPORTING6, "can_access_report6", map);
return map;
}
private checkAccess(PermissionConstants permission, String key, Map<String, String> map) {
if(AuthHelper.getInstance().hasPermission(PermissionConstants.ACCESS_REPORT_BUILDER)
&& AuthHelper.getInstance().hasPermission(permission))
{
map.put(key, "true");
}
}