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

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

public interface CourseService
extends DictionaryService

A course is a specified area of knowledge contained and taught independently from other areas of knowledge that may or may not be related. Courses typically have specific learning objectives, defined student learning outcomes and assessments. They can be recognized for academic credit or not. Courses can be delivered in various instructional formats such as lecture, lab, discussion, seminar, colloquium, etc. A course would utilize at least one instructional format, but often will use more than one. Course is pre-configured type of CLU (Canonical Learning Unit) that represents a credit course. The courseInfo object supports a number of complex course options – cross-listed, joint and variations. Course can have any number of associated learning objectives and requisites (rules that model pre-, co-, anti-requisites and enrollment restrictions).

Version:
2.0
Author:
Kuali Student Team (sambitpa@kuali.org)

Method Summary
 CourseInfo createCourse(CourseInfo courseInfo, ContextInfo contextInfo)
          Creates a Course
 StatementTreeViewInfo createCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo, ContextInfo contextInfo)
          Creates the Statement for a Course.
 CourseInfo createNewCourseVersion(String courseId, String versionComment, ContextInfo contextInfo)
          Creates a new Course version based on the current course
 StatusInfo deleteCourse(String courseId, ContextInfo contextInfo)
          Deletes a Course.
 StatusInfo deleteCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo, ContextInfo contextInfo)
          Delete the Statement for a Course.
 CourseInfo getCourse(String courseId, ContextInfo contextInfo)
          Retrieves a Course
 List<ActivityInfo> getCourseActivitiesByCourseFormat(String formatId, ContextInfo contextInfo)
          Retrieves the Activities for a Course.
 List<FormatInfo> getCourseFormatsByCourse(String courseId, ContextInfo contextInfo)
          Retrieves the formats for a Course.
 List<LoDisplayInfo> getCourseLearningObjectivesByCourse(String courseId, ContextInfo contextInfo)
          Retrieves the Learning Objectives for a Course.
 List<CourseInfo> getCoursesByIds(List<String> courseIds, ContextInfo contextInfo)
          Retrieves a list of courses by Ids
 List<StatementTreeViewInfo> getCourseStatements(String courseId, String nlUsageTypeKey, String language, ContextInfo contextInfo)
          Retrieves the Statements of a Course.
 VersionDisplayInfo getCurrentVersion(String refObjectTypeURI, String refObjectId, ContextInfo contextInfo)
          Deprecated. 
 List<VersionDisplayInfo> getVersions(String refObjectTypeURI, String refObjectId, ContextInfo contextInfo)
          Deprecated. 
 List<String> searchForCourseIds(QueryByCriteria criteria, ContextInfo contextInfo)
          Searches for courses based on the criteria and returns a list of Comment identifiers which match the search criteria.
 List<CourseInfo> searchForCourses(QueryByCriteria criteria, ContextInfo contextInfo)
          Searches for courses based on the criteria and returns a list of Comments which match the search criteria.
 StatusInfo setCurrentCourseVersion(String courseVersionId, Date currentVersionStart, ContextInfo contextInfo)
          Sets a specific version of the Course as current.
 CourseInfo updateCourse(String courseId, CourseInfo courseInfo, ContextInfo contextInfo)
          Updates a Course.
 StatementTreeViewInfo updateCourseStatement(String courseId, String statementId, StatementTreeViewInfo statementTreeViewInfo, ContextInfo contextInfo)
          Updates the Statement for a Course.
 List<ValidationResultInfo> validateCourse(String validationType, CourseInfo courseInfo, ContextInfo contextInfo)
          Validates a course based on its dictionary
 List<ValidationResultInfo> validateCourseStatement(String courseId, StatementTreeViewInfo statementTreeViewInfo, ContextInfo contextInfo)
          Validates the Statement for a Course.
 
Methods inherited from interface org.kuali.student.r1.common.dictionary.service.DictionaryService
getObjectStructure, getObjectTypes
 

Method Detail

getCourse

CourseInfo getCourse(String courseId,
                     ContextInfo contextInfo)
                     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

getCoursesByIds

List<CourseInfo> getCoursesByIds(List<String> courseIds,
                                 ContextInfo contextInfo)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException,
                                        PermissionDeniedException
Retrieves a list of courses by Ids

Parameters:
courseIds -
contextInfo -
Returns:
Throws:
DoesNotExistException
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException

searchForCourseIds

List<String> searchForCourseIds(QueryByCriteria criteria,
                                ContextInfo contextInfo)
                                throws InvalidParameterException,
                                       MissingParameterException,
                                       OperationFailedException,
                                       PermissionDeniedException
Searches for courses based on the criteria and returns a list of Comment identifiers which match the search criteria.

Parameters:
criteria - the search criteria
contextInfo - Context information containing the principalId and locale information about the caller of service operation
Returns:
list of Comment Ids
Throws:
InvalidParameterException - invalid parameter
MissingParameterException - criteria, contextInfo not specified
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

searchForCourses

List<CourseInfo> searchForCourses(QueryByCriteria criteria,
                                  ContextInfo contextInfo)
                                  throws InvalidParameterException,
                                         MissingParameterException,
                                         OperationFailedException,
                                         PermissionDeniedException
Searches for courses based on the criteria and returns a list of Comments which match the search criteria.

Parameters:
criteria - the search criteria
contextInfo - Context information containing the principalId and locale information about the caller of service operation
Returns:
list of Comment information
Throws:
InvalidParameterException - invalid parameter
MissingParameterException - criteria, contextInfo not specified
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

createCourse

CourseInfo createCourse(CourseInfo courseInfo,
                        ContextInfo contextInfo)
                        throws DataValidationErrorException,
                               InvalidParameterException,
                               MissingParameterException,
                               OperationFailedException,
                               PermissionDeniedException,
                               VersionMismatchException
Creates a Course

Parameters:
courseInfo - courseInfo
Returns:
the created course
Throws:
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

updateCourse

CourseInfo updateCourse(String courseId,
                        CourseInfo courseInfo,
                        ContextInfo contextInfo)
                        throws DataValidationErrorException,
                               DoesNotExistException,
                               InvalidParameterException,
                               MissingParameterException,
                               VersionMismatchException,
                               OperationFailedException,
                               PermissionDeniedException,
                               UnsupportedActionException,
                               DependentObjectsExistException,
                               AlreadyExistsException,
                               CircularRelationshipException,
                               CircularReferenceException,
                               ReadOnlyException
Updates a Course.

Parameters:
courseInfo - courseInfo
courseId -
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
CircularReferenceException
CircularRelationshipException
AlreadyExistsException
DependentObjectsExistException
UnsupportedActionException
ReadOnlyException

deleteCourse

StatusInfo deleteCourse(String courseId,
                        ContextInfo contextInfo)
                        throws DoesNotExistException,
                               InvalidParameterException,
                               MissingParameterException,
                               OperationFailedException,
                               PermissionDeniedException,
                               VersionMismatchException,
                               DataValidationErrorException,
                               AlreadyExistsException,
                               UnsupportedActionException,
                               DependentObjectsExistException,
                               CircularRelationshipException,
                               CircularReferenceException,
                               ReadOnlyException
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
CircularReferenceException
CircularRelationshipException
DependentObjectsExistException
UnsupportedActionException
VersionMismatchException
DataValidationErrorException
AlreadyExistsException
ReadOnlyException

validateCourse

List<ValidationResultInfo> validateCourse(String validationType,
                                          CourseInfo courseInfo,
                                          ContextInfo contextInfo)
                                          throws DoesNotExistException,
                                                 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

getCourseFormatsByCourse

List<FormatInfo> getCourseFormatsByCourse(String courseId,
                                          ContextInfo contextInfo)
                                          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

getCourseActivitiesByCourseFormat

List<ActivityInfo> getCourseActivitiesByCourseFormat(String formatId,
                                                     ContextInfo contextInfo)
                                                     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

getCourseLearningObjectivesByCourse

List<LoDisplayInfo> getCourseLearningObjectivesByCourse(String courseId,
                                                        ContextInfo contextInfo)
                                                        throws DoesNotExistException,
                                                               InvalidParameterException,
                                                               MissingParameterException,
                                                               OperationFailedException,
                                                               PermissionDeniedException
Retrieves the Learning Objectives 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,
                                                ContextInfo contextInfo)
                                                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 Statement tree Structures
Throws:
DoesNotExistException - Course does not exist
InvalidParameterException - invalid courseId
MissingParameterException - invalid courseId
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

createCourseStatement

StatementTreeViewInfo createCourseStatement(String courseId,
                                            StatementTreeViewInfo statementTreeViewInfo,
                                            ContextInfo contextInfo)
                                            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,
                                            String statementId,
                                            StatementTreeViewInfo statementTreeViewInfo,
                                            ContextInfo contextInfo)
                                            throws DoesNotExistException,
                                                   InvalidParameterException,
                                                   MissingParameterException,
                                                   OperationFailedException,
                                                   PermissionDeniedException,
                                                   DataValidationErrorException,
                                                   VersionMismatchException
Updates the Statement for a Course.

Parameters:
courseId - Unique Id of the Course. Maps to cluId
statementId -
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
DataValidationErrorException

deleteCourseStatement

StatusInfo deleteCourseStatement(String courseId,
                                 StatementTreeViewInfo statementTreeViewInfo,
                                 ContextInfo contextInfo)
                                 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

validateCourseStatement

List<ValidationResultInfo> validateCourseStatement(String courseId,
                                                   StatementTreeViewInfo statementTreeViewInfo,
                                                   ContextInfo contextInfo)
                                                   throws InvalidParameterException,
                                                          MissingParameterException,
                                                          OperationFailedException,
                                                          PermissionDeniedException
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
PermissionDeniedException

createNewCourseVersion

CourseInfo createNewCourseVersion(String courseId,
                                  String versionComment,
                                  ContextInfo contextInfo)
                                  throws DataValidationErrorException,
                                         DoesNotExistException,
                                         InvalidParameterException,
                                         MissingParameterException,
                                         OperationFailedException,
                                         PermissionDeniedException,
                                         VersionMismatchException,
                                         ReadOnlyException
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
ReadOnlyException

setCurrentCourseVersion

StatusInfo setCurrentCourseVersion(String courseVersionId,
                                   Date currentVersionStart,
                                   ContextInfo contextInfo)
                                   throws DoesNotExistException,
                                          InvalidParameterException,
                                          MissingParameterException,
                                          OperationFailedException,
                                          PermissionDeniedException,
                                          IllegalVersionSequencingException,
                                          DataValidationErrorException
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
IllegalVersionSequencingException
DataValidationErrorException

getCurrentVersion

@Deprecated
VersionDisplayInfo getCurrentVersion(String refObjectTypeURI,
                                                String refObjectId,
                                                ContextInfo contextInfo)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Deprecated. 

Retrieves current version associated with the objectId.

Parameters:
refObjectTypeURI - reference object type URI
refObjectId - reference object Id
Returns:
current version
Throws:
DoesNotExistException - specified refObjectId, refObjectTypeURI not found
InvalidParameterException - invalid refObjectId, refObjectTypeURI
MissingParameterException - refObjectId, refObjectTypeURI not specified
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

getVersions

@Deprecated
List<VersionDisplayInfo> getVersions(String refObjectTypeURI,
                                                String refObjectId,
                                                ContextInfo contextInfo)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException,
                                            PermissionDeniedException
Deprecated. 

Throws:
DoesNotExistException
InvalidParameterException
MissingParameterException
OperationFailedException
PermissionDeniedException


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