rs.getInt("policy_type_id"), c, a, rs.getInt("realm_id"));
}
List<AccessRights> buildResourcePermission(ResultSet resultSet) throws Exception {
List<AccessRight> permissions = null;
AccessRights accessRights = null;
List<AccessRights> accessRightsList = new ArrayList<AccessRights>();
int lastId = -1;
while (resultSet.next()) {
int resourceId = resultSet.getInt("resource_id");
int realmID = resultSet.getInt("realm_id");
if (resourceId != lastId) {
permissions = new ArrayList<AccessRight>();
Calendar dateCreated = JDBCUtil.getCalendar(resultSet, "date_created");
Calendar dateAmended = JDBCUtil.getCalendar(resultSet, "date_amended");
String resourceName = resultSet.getString("resource_name");
String resourceDescription = resultSet.getString("resource_description");
String resourceClass = resultSet.getString("resource_class");
accessRights = new DefaultAccessRights(realmID, resourceId, resourceName, resourceDescription, permissions,
resourceClass, dateCreated, dateAmended);
accessRightsList.add(accessRights);
lastId = resourceId;
}
// check to see if the access right has any permissions
if (!JDBCUtil.isNull(resultSet, "resource_type_id")) {
int resourceTypeId = resultSet.getInt("resource_type_id");
ResourceType resourceType = getResourceType(resourceTypeId);
if (resourceType == null) {
log.warn("No resource type with Id of " + resourceTypeId + " for resource permission " + resourceId
+ ", ignoring");
} else {
int permissionId = resultSet.getInt("permission_id");
Permission permission = resourceType.getPermission(permissionId);
if (permission == null) {
log.warn("No permission with Id of " + permissionId + " for resource type " + resourceTypeId
+ " and resource permission " + resourceId + ", ignoring");
} else {
AccessRight accessRight = new AccessRight(resourceType, permission);
permissions.add(accessRight);
}
}
} else {
log.debug("Access Rights with name " + accessRights.getResourceName() + " has no permissions.");
}
}
return accessRightsList;
}