org.kuali.student.enrollment.coursewaitlist.service
Interface CourseWaitlistService

All Known Implementing Classes:
CourseWaitlistServiceImpl

public interface CourseWaitlistService

The Course Registration Service is a Class II service supporting the process of registering a student in course(s) for a term. The service provides operations for creating and validating registration requests , registering for a course, waitlist processing, and dropping a course. This service supports the concept of registration cart in the application and all of the transactional requests for registration are made through this service. As part of negotiating the student's registration, operations are provided to manage related exceptions and holds related to registration.

Author:
Kuali Student Team (sambit)

Method Summary
 StatusInfo deleteCourseWaitlistEntry(String courseWaitlistEntryId, ContextInfo context)
          Deletes a course waitlist entry
 Integer getAvailableSeatsForCourseOffering(String courseOfferingId, ContextInfo context)
          Retrieves the open seat count for a particular course offering.
 Integer getAvailableSeatsForRegGroup(String regGroupId, ContextInfo context)
          Get available seats for the registration group.
 Integer getAvailableSeatsForStudentInRegGroup(String studentId, String regGroupId, ContextInfo context)
          Gets the number of seats available for a particular student in a registration group.
 Integer getAvailableSeatsInSeatpool(String seatpoolId, ContextInfo context)
          Returns the available seats in a particular seat pool.
 List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForCourseOffering(String courseOfferingId, ContextInfo context)
          Gets the course waitlist entries for a course offering.
 List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForRegGroup(String regGroupId, ContextInfo context)
          Gets the course waitlist entries for a reg group.
 List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentByTerm(String studentId, String termId, ContextInfo context)
          Get all the waitlist the student is in for a term.
 List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentInCourseOffering(String courseOfferingId, String studentId, ContextInfo context)
          Gets the waitlist entries for a course offering by student.
 CourseWaitlistEntryInfo getCourseWaitlistEntry(String courseWaitlistEntryId, ContextInfo context)
          Gets a course waitlist entry by id.
 CourseWaitlistEntryInfo getCourseWaitlistEntryForStudentInRegGroup(String regGroupId, String studentId, ContextInfo context)
          Gets the waitlist for a reg group and student.
 StatusInfo insertCourseWaitlistEntryAtPosition(String courseWaitlistEntryId, Integer position, ContextInfo context)
          Insert a waitlist entry at a particular position in the waitlist.
 RegistrationResponseInfo registerStudentFromWaitlist(String courseWaitlistEntryId, ContextInfo context)
          Register a student to a reg group from a waitlist.
 StatusInfo removeCourseWaitlistEntry(String courseWaitlistEntryId, ContextInfo context)
          Remove the CourseWaitlistEntryInfo, change its state to CANCELLED
 StatusInfo reorderCourseWaitlistEntries(List<String> courseWaitlistEntryIds, ContextInfo context)
          Reorder all the entries that are passed in in the input list, i.e., update each of the entries rank to begin from the top and push the entries not in the list to the ranks after the entries.
 List<CourseWaitlistEntryInfo> searchForCourseWaitlistEntries(org.kuali.rice.core.api.criteria.QueryByCriteria criteria, ContextInfo context)
          This method ...
 List<String> searchForCourseWaitlistEntryIds(org.kuali.rice.core.api.criteria.QueryByCriteria criteria, ContextInfo context)
          This method ...
 StatusInfo updateCourseWaitlistEntry(String courseWaitlistEntryId, CourseWaitlistEntryInfo courseWaitlistEntryInfo, ContextInfo context)
          Updates a course waitlist entry
 StatusInfo validateCourseWaitlistEntry(String validateTypeKey, CourseWaitlistEntryInfo courseWaitlistEntryInfo, ContextInfo context)
          Validates a course waitlist entry.
 

Method Detail

getAvailableSeatsForCourseOffering

Integer getAvailableSeatsForCourseOffering(String courseOfferingId,
                                           ContextInfo context)
                                           throws InvalidParameterException,
                                                  MissingParameterException,
                                                  OperationFailedException,
                                                  PermissionDeniedException
Retrieves the open seat count for a particular course offering. It sums up the open seats for individual registration groups under the same course offering.

Parameters:
courseOfferingId -
context -
Returns:
Throws:
InvalidParameterException - Invalid courseOfferingId in the input
MissingParameterException - Missing courseOfferingId in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

getAvailableSeatsForRegGroup

Integer getAvailableSeatsForRegGroup(String regGroupId,
                                     ContextInfo context)
                                     throws InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Get available seats for the registration group.

Parameters:
regGroupId - Identifier of the registration group
context -
Returns:
Throws:
InvalidParameterException - Invalid regGroupId in the input
MissingParameterException - Missing regGroupId in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

getAvailableSeatsForStudentInRegGroup

Integer getAvailableSeatsForStudentInRegGroup(String studentId,
                                              String regGroupId,
                                              ContextInfo context)
                                              throws InvalidParameterException,
                                                     MissingParameterException,
                                                     OperationFailedException,
                                                     PermissionDeniedException
Gets the number of seats available for a particular student in a registration group.

Implementation notes : Seats available for a student taking seat pool (if any) into consideration.

Parameters:
studentId - Identifier of the student
regGroupId - Identifier of the registration group
context -
Returns:
Throws:
InvalidParameterException - Invalid studentId or regGroupId in the input
MissingParameterException - Missing studentId or regGroupId in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

getAvailableSeatsInSeatpool

Integer getAvailableSeatsInSeatpool(String seatpoolId,
                                    ContextInfo context)
                                    throws InvalidParameterException,
                                           MissingParameterException,
                                           OperationFailedException,
                                           PermissionDeniedException
Returns the available seats in a particular seat pool. This is an admin support function to check the seat pool usage.

Parameters:
studentId - Identifier of the student
seatpoolId - Identifier of the seatpool
context -
Returns:
Throws:
InvalidParameterException - Invalid seatpool in the input
MissingParameterException - Missing parameter seatpoolId in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

getCourseWaitlistEntry

CourseWaitlistEntryInfo getCourseWaitlistEntry(String courseWaitlistEntryId,
                                               ContextInfo context)
                                               throws DoesNotExistException,
                                                      InvalidParameterException,
                                                      MissingParameterException,
                                                      OperationFailedException,
                                                      PermissionDeniedException
Gets a course waitlist entry by id.

Parameters:
courseWaitlistEntryId - Id of the course waitlist entry
context -
Returns:
Throws:
DoesNotExistException - No courseWaitlistEntryId exists
InvalidParameterException - Invalid courseWaitlistEntryId
MissingParameterException - Missing courseWaitlistEntryId in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

updateCourseWaitlistEntry

StatusInfo updateCourseWaitlistEntry(String courseWaitlistEntryId,
                                     CourseWaitlistEntryInfo courseWaitlistEntryInfo,
                                     ContextInfo context)
                                     throws DoesNotExistException,
                                            DataValidationErrorException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Updates a course waitlist entry

Parameters:
courseWaitlistEntryId - Id of the course waitlist entry to be updated
courseWaitlistEntryInfo - The modified CourseWaitlistEntryInfo
context -
Returns:
Throws:
AlreadyExistsException
DataValidationErrorException - The courseWaitlistEntryInfo is not valid
InvalidParameterException - Invalid courseWaitlistEntryId or courseWaitlistEntryInfo in the input
MissingParameterException - Missing courseWaitlistEntryId or courseWaitlistEntryInfo in the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation
DoesNotExistException

reorderCourseWaitlistEntries

StatusInfo reorderCourseWaitlistEntries(List<String> courseWaitlistEntryIds,
                                        ContextInfo context)
                                        throws DoesNotExistException,
                                               InvalidParameterException,
                                               MissingParameterException,
                                               OperationFailedException,
                                               PermissionDeniedException
Reorder all the entries that are passed in in the input list, i.e., update each of the entries rank to begin from the top and push the entries not in the list to the ranks after the entries.

Parameters:
courseWaitlistEntryId -
position -
context -
Returns:
Throws:
DataValidationErrorException
InvalidParameterException - Invalid courseWaitlistEntryIds in the input
MissingParameterException - Missing courseWaitlistEntryIdsin the input
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation
DoesNotExistException

insertCourseWaitlistEntryAtPosition

StatusInfo insertCourseWaitlistEntryAtPosition(String courseWaitlistEntryId,
                                               Integer position,
                                               ContextInfo context)
                                               throws DoesNotExistException,
                                                      InvalidParameterException,
                                                      MissingParameterException,
                                                      OperationFailedException,
                                                      PermissionDeniedException
Insert a waitlist entry at a particular position in the waitlist. The courseWaitlistEntryId would be moved to the position and all other waitlist entries for that reg group would have adjusted rank

Parameters:
courseWaitlistEntryId - The id of the course waitlist entry
position - The new rank for the waitlist entry
context -
Returns:
Throws:
DoesNotExistException - The courseWaitlistEntryId is not found
InvalidParameterException - The courseWaitlistEntryId is invalid
MissingParameterException - Input courseWaitlistEntryId or position is missing
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

removeCourseWaitlistEntry

StatusInfo removeCourseWaitlistEntry(String courseWaitlistEntryId,
                                     ContextInfo context)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Remove the CourseWaitlistEntryInfo, change its state to CANCELLED

Parameters:
courseWaitlistEntryId - The id of the course waitlist entry
context -
Returns:
Throws:
DoesNotExistException - The courseWaitlistEntryId is not found
InvalidParameterException - The courseWaitlistEntryId is invalid
MissingParameterException - Input courseWaitlistEntryId or position is missing
OperationFailedException - Unable to complete request
PermissionDeniedException - Not authorized to do this operation

deleteCourseWaitlistEntry

StatusInfo deleteCourseWaitlistEntry(String courseWaitlistEntryId,
                                     ContextInfo context)
                                     throws InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Deletes a course waitlist entry

Parameters:
courseWaitlistEntryId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException

validateCourseWaitlistEntry

StatusInfo validateCourseWaitlistEntry(String validateTypeKey,
                                       CourseWaitlistEntryInfo courseWaitlistEntryInfo,
                                       ContextInfo context)
                                       throws DataValidationErrorException,
                                              InvalidParameterException,
                                              MissingParameterException,
                                              OperationFailedException,
                                              PermissionDeniedException
Validates a course waitlist entry.

Parameters:
validateTypeKey -
courseWaitlistEntryInfo -
context -
Returns:
Throws:
DataValidationErrorException
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException

registerStudentFromWaitlist

RegistrationResponseInfo registerStudentFromWaitlist(String courseWaitlistEntryId,
                                                     ContextInfo context)
                                                     throws AlreadyExistsException,
                                                            DataValidationErrorException,
                                                            InvalidParameterException,
                                                            MissingParameterException,
                                                            OperationFailedException,
                                                            PermissionDeniedException
Register a student to a reg group from a waitlist.

Parameters:
regRequestInfo -
context -
Returns:
Throws:
AlreadyExistsException
DataValidationErrorException
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException

getCourseWaitlistEntriesForCourseOffering

List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForCourseOffering(String courseOfferingId,
                                                                        ContextInfo context)
                                                                        throws DoesNotExistException,
                                                                               InvalidParameterException,
                                                                               MissingParameterException,
                                                                               OperationFailedException,
                                                                               PermissionDeniedException
Gets the course waitlist entries for a course offering. Returns all students who are on waitlists for that course offering.

Parameters:
courseOfferingId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException
DoesNotExistException

getCourseWaitlistEntriesForRegGroup

List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForRegGroup(String regGroupId,
                                                                  ContextInfo context)
                                                                  throws DoesNotExistException,
                                                                         InvalidParameterException,
                                                                         MissingParameterException,
                                                                         OperationFailedException,
                                                                         PermissionDeniedException
Gets the course waitlist entries for a reg group.

Parameters:
courseOfferingId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException
DoesNotExistException

getCourseWaitlistEntriesForStudentInCourseOffering

List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentInCourseOffering(String courseOfferingId,
                                                                                 String studentId,
                                                                                 ContextInfo context)
                                                                                 throws DoesNotExistException,
                                                                                        InvalidParameterException,
                                                                                        MissingParameterException,
                                                                                        OperationFailedException,
                                                                                        PermissionDeniedException
Gets the waitlist entries for a course offering by student. A student might be listed in multiple reg group waitlists in the same course.

Parameters:
courseOfferingId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException
DoesNotExistException

getCourseWaitlistEntryForStudentInRegGroup

CourseWaitlistEntryInfo getCourseWaitlistEntryForStudentInRegGroup(String regGroupId,
                                                                   String studentId,
                                                                   ContextInfo context)
                                                                   throws DoesNotExistException,
                                                                          InvalidParameterException,
                                                                          MissingParameterException,
                                                                          OperationFailedException,
                                                                          PermissionDeniedException
Gets the waitlist for a reg group and student.

Parameters:
courseOfferingId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException
DoesNotExistException

getCourseWaitlistEntriesForStudentByTerm

List<CourseWaitlistEntryInfo> getCourseWaitlistEntriesForStudentByTerm(String studentId,
                                                                       String termId,
                                                                       ContextInfo context)
                                                                       throws DoesNotExistException,
                                                                              InvalidParameterException,
                                                                              MissingParameterException,
                                                                              OperationFailedException,
                                                                              PermissionDeniedException
Get all the waitlist the student is in for a term. Returns CourseWaitlistEntryInfo which is the student-waitlist relation.

Parameters:
studentId -
termId -
context -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException
DoesNotExistException

searchForCourseWaitlistEntries

List<CourseWaitlistEntryInfo> searchForCourseWaitlistEntries(org.kuali.rice.core.api.criteria.QueryByCriteria criteria,
                                                             ContextInfo context)
                                                             throws InvalidParameterException,
                                                                    MissingParameterException,
                                                                    OperationFailedException,
                                                                    PermissionDeniedException
This method ...

Parameters:
criteria -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException

searchForCourseWaitlistEntryIds

List<String> searchForCourseWaitlistEntryIds(org.kuali.rice.core.api.criteria.QueryByCriteria criteria,
                                             ContextInfo context)
                                             throws InvalidParameterException,
                                                    MissingParameterException,
                                                    OperationFailedException,
                                                    PermissionDeniedException
This method ...

Parameters:
criteria -
Returns:
Throws:
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException


Copyright © 2004-2012 The Kuali Foundation. All Rights Reserved.