org.kuali.student.lum.course.service
Interface CourseService

All Superinterfaces:
DictionaryService, VersionManagementService
All Known Implementing Classes:
CourseServiceImpl

public interface CourseService
extends DictionaryService, VersionManagementService


Method Summary
 CourseInfo createCourse(CourseInfo courseInfo)
          Creates a Course
 StatementTreeViewInfo createCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo)
          Creates the Statement for a Course.
 CourseInfo createNewCourseVersion(String courseId, String versionComment)
          Creates a new Course version based on the current course
 StatusInfo deleteCourse(String courseId)
          Deletes a Course.
 StatusInfo deleteCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo)
          Delete the Statement for a Course.
 CourseInfo getCourse(String courseId)
          Retrieves a Course
 List<ActivityInfo> getCourseActivities(String formatId)
          Retrieves the Activities for a Course.
 List<FormatInfo> getCourseFormats(String courseId)
          Retrieves the formats for a Course.
 List<LoDisplayInfo> getCourseLos(String courseId)
          Retrieves the Los for a Course.
 List<StatementTreeViewInfo> getCourseStatements(String courseId, String nlUsageTypeKey, String language)
          Retrieves the Statements of a Course.
 StatusInfo setCurrentCourseVersion(String courseVersionId, Date currentVersionStart)
          Sets a specific version of the Course as current.
 CourseInfo updateCourse(CourseInfo courseInfo)
          Updates a Course.
 StatementTreeViewInfo updateCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo)
          Updates the Statement for a Course.
 List<ValidationResultInfo> validateCourse(String validationType, CourseInfo courseInfo)
          Validates a course based on its dictionary
 List<ValidationResultInfo> validateCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo)
          Validates the Statement for a Course.
 
Methods inherited from interface org.kuali.student.core.dictionary.service.DictionaryService
getObjectStructure, getObjectTypes
 
Methods inherited from interface org.kuali.student.core.versionmanagement.service.VersionManagementService
getCurrentVersion, getCurrentVersionOnDate, getFirstVersion, getLatestVersion, getVersionBySequenceNumber, getVersions, getVersionsInDateRange
 

Method Detail

getCourse

CourseInfo getCourse(String courseId)
                     throws DoesNotExistException,
                            InvalidParameterException,
                            MissingParameterException,
                            OperationFailedException,
                            PermissionDeniedException
Retrieves a Course

Parameters:
courseId - Unique Id of the Course. Maps to cluId
Returns:
the created course
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid course
MissingParameterException - missing Course
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getCourseFormats

List<FormatInfo> getCourseFormats(String courseId)
                                  throws DoesNotExistException,
                                         InvalidParameterException,
                                         MissingParameterException,
                                         OperationFailedException,
                                         PermissionDeniedException
Retrieves the formats for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
Returns:
a list of format info Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getCourseActivities

List<ActivityInfo> getCourseActivities(String formatId)
                                       throws DoesNotExistException,
                                              InvalidParameterException,
                                              MissingParameterException,
                                              OperationFailedException,
                                              PermissionDeniedException
Retrieves the Activities for a Course.

Parameters:
formatId - Unique Id of the Format. Maps to cluId
Returns:
a list of activity info Structures
Throws:
DoesNotExistException - Format does not exist
InvalidParameterException - invalid format
MissingParameterException - missing Format
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getCourseLos

List<LoDisplayInfo> getCourseLos(String courseId)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException,
                                        PermissionDeniedException
Retrieves the Los for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
Returns:
a list of LoDisplay info Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getCourseStatements

List<StatementTreeViewInfo> getCourseStatements(String courseId,
                                                String nlUsageTypeKey,
                                                String language)
                                                throws DoesNotExistException,
                                                       InvalidParameterException,
                                                       MissingParameterException,
                                                       OperationFailedException,
                                                       PermissionDeniedException
Retrieves the Statements of a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
nlUsageTypeKey - Natural language usage type key (context)
language - Translation language e.g en, es, gr
Returns:
a list of Statementree Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

createCourse

CourseInfo createCourse(CourseInfo courseInfo)
                        throws AlreadyExistsException,
                               DataValidationErrorException,
                               InvalidParameterException,
                               MissingParameterException,
                               OperationFailedException,
                               PermissionDeniedException,
                               VersionMismatchException,
                               DoesNotExistException,
                               CircularRelationshipException,
                               DependentObjectsExistException,
                               UnsupportedActionException
Creates a Course

Parameters:
courseInfo - courseInfo
Returns:
the created course
Throws:
AlreadyExistsException - The Course already exists
DataValidationErrorException - One or more values invalid for this operation
InvalidParameterException - invalid course
MissingParameterException - missing Course
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException
DependentObjectsExistException
CircularRelationshipException
DoesNotExistException
UnsupportedActionException

updateCourse

CourseInfo updateCourse(CourseInfo courseInfo)
                        throws DataValidationErrorException,
                               DoesNotExistException,
                               InvalidParameterException,
                               MissingParameterException,
                               VersionMismatchException,
                               OperationFailedException,
                               PermissionDeniedException,
                               AlreadyExistsException,
                               CircularRelationshipException,
                               DependentObjectsExistException,
                               UnsupportedActionException,
                               UnsupportedOperationException,
                               CircularReferenceException
Updates a Course.

Parameters:
courseInfo - courseInfo
Returns:
updated Course
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - course not found
InvalidParameterException - invalid course
MissingParameterException - missing course
VersionMismatchException - The action was attempted on an out of date version.
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
DependentObjectsExistException
CircularRelationshipException
AlreadyExistsException
UnsupportedActionException
CircularReferenceException
UnsupportedOperationException

deleteCourse

StatusInfo deleteCourse(String courseId)
                        throws DoesNotExistException,
                               InvalidParameterException,
                               MissingParameterException,
                               OperationFailedException,
                               PermissionDeniedException,
                               VersionMismatchException,
                               DataValidationErrorException,
                               AlreadyExistsException,
                               CircularRelationshipException,
                               DependentObjectsExistException,
                               UnsupportedActionException,
                               UnsupportedOperationException,
                               CircularReferenceException
Deletes a Course.

Parameters:
courseId - identifier for Course.Maps to cluId
Returns:
status of the operation (success or failure)
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException
DependentObjectsExistException
CircularRelationshipException
AlreadyExistsException
DataValidationErrorException
UnsupportedActionException
CircularReferenceException
UnsupportedOperationException

createCourseStatement

StatementTreeViewInfo createCourseStatement(String courseId,
                                            StatementTreeViewInfo statementTreeViewInfo)
                                            throws DoesNotExistException,
                                                   InvalidParameterException,
                                                   MissingParameterException,
                                                   OperationFailedException,
                                                   PermissionDeniedException,
                                                   DataValidationErrorException
Creates the Statement for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
statementTreeViewInfoList - a Statementree Structures
Returns:
created Statementree Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
DataValidationErrorException

updateCourseStatement

StatementTreeViewInfo updateCourseStatement(String courseId,
                                            StatementTreeViewInfo statementTreeViewInfo)
                                            throws DoesNotExistException,
                                                   InvalidParameterException,
                                                   MissingParameterException,
                                                   OperationFailedException,
                                                   PermissionDeniedException,
                                                   DataValidationErrorException,
                                                   CircularReferenceException,
                                                   VersionMismatchException
Updates the Statement for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
statementTreeViewInfoList - a Statementree Structures
Returns:
updated Statementree Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException
CircularReferenceException
DataValidationErrorException

deleteCourseStatement

StatusInfo deleteCourseStatement(String courseId,
                                 StatementTreeViewInfo statementTreeViewInfo)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException,
                                        PermissionDeniedException
Delete the Statement for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
statementTreeViewInfoList - a Statementree Structures
Returns:
status of the operation (success or failure)
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

validateCourse

List<ValidationResultInfo> validateCourse(String validationType,
                                          CourseInfo courseInfo)
                                          throws InvalidParameterException,
                                                 MissingParameterException,
                                                 OperationFailedException
Validates a course based on its dictionary

Parameters:
validationType - identifier of the extent of validation
courseInfo - Course to be validated
Returns:
results from performing the validation
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request

validateCourseStatement

List<ValidationResultInfo> validateCourseStatement(String courseId,
                                                   StatementTreeViewInfo statementTreeViewInfo)
                                                   throws InvalidParameterException,
                                                          MissingParameterException,
                                                          OperationFailedException
Validates the Statement for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
statementTreeViewInfoList - a Statementree Structures
Returns:
results from performing the validation
Throws:
DoesNotExistException - Course or StementTreeView does not exist
InvalidParameterException - invalid courseId or stratement tree view Id
MissingParameterException - invalid courseId or statement tree view Id
OperationFailedException - unable to complete request

createNewCourseVersion

CourseInfo createNewCourseVersion(String courseId,
                                  String versionComment)
                                  throws DataValidationErrorException,
                                         DoesNotExistException,
                                         InvalidParameterException,
                                         MissingParameterException,
                                         OperationFailedException,
                                         PermissionDeniedException,
                                         VersionMismatchException
Creates a new Course version based on the current course

Parameters:
courseId - identifier for the Course to be versioned
versionComment - comment for the current version
Returns:
the new versioned Course information
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - courseId not found
InvalidParameterException - invalid courseId
MissingParameterException - missing courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException - The action was attempted on an out of date version

setCurrentCourseVersion

StatusInfo setCurrentCourseVersion(String courseVersionId,
                                   Date currentVersionStart)
                                   throws DoesNotExistException,
                                          InvalidParameterException,
                                          MissingParameterException,
                                          IllegalVersionSequencingException,
                                          OperationFailedException,
                                          PermissionDeniedException
Sets a specific version of the Course as current. The sequence number must be greater than the existing current Course version. This will truncate the current version's end date to the currentVersionStart param. If a Course exists which is set to become current in the future, that course's currentVersionStart and CurrentVersionEnd will be nullified. The currentVersionStart must be in the future to prevent changing historic data.

Parameters:
courseVersionId - Version Specific Id of the Course
currentVersionStart - Date when this course becomes current. Must be in the future and be after the most current course's start date.
Returns:
status of the operation
Throws:
DoesNotExistException - courseVersionId not found
InvalidParameterException - invalid courseVersionId, previousState, newState
MissingParameterException - missing courseVersionId, previousState, newState
IllegalVersionSequencingException - a Course with higher sequence number from the one provided is marked current
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure


Copyright © 2007-2011 The Kuali Foundation. All Rights Reserved.