Interface CourseOfferingBatchAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, CourseOfferingAdminSession, OsidSession, OsidSession
This session creates, updates, and deletes CourseOfferings in
bulk. The data for create and update is provided by the consumer via the
form object. OsidForms are requested for each create or update and
may not be reused.
Create and update operations differ in their usage. To create a
CourseOffering , a CourseOfferingForm is requested using
getCourseOfferingFormsForCreate() specifying the desired canonical
course, term, and record Types or none if no record Types
are needed. Each of the returned CourseOfferingForms will indicate
that it is to be used with a create operation and can be used to examine
metdata or validate data prior to creation. Once a
CourseOfferingForm is submiited to a create operation, it cannot be
reused with another create operation unless the first operation was
unsuccessful. Each CourseOfferingForm corresponds to an attempted
transaction.
The CourseOfferingForms returned from
getCourseOfferingFormsForCreate() may be linked to the originating
request through the peer Ids of the CourseOfferingForm .
In the case where there may be duplicates, any CourseOfferingForm
of the same peer Ids may be used for a create operation.
Once a batch of CourseOfferingForms are submitted for create,
a CreateResponse is returned for each CourseOfferingForm ,
although the ordering is not defined. Only errors that pertain to the
entire create operation are returned from createCourseOfferings()
, errors specific to an individual CourseOfferingForm are
indicated in the corresponding CreateResponse .
CreateResponses may be linked to the originating
CourseOfferingForm through the CourseOfferingForm Id .
For updates, CourseOfferingForms are requested to the
CourseOffering Id that is to be updated using
getCourseOfferingFormsForUpdate() where the reference Id in the
CourseOfferingForm may be used to link the request. Similarly, the
CourseOfferingForm has metadata about the data that can be updated
and it can perform validation before submitting the update. The
CourseOfferingForm can only be used once for a successful update and
cannot be reused.
Once a batch of CourseOfferingForms are submitted for update,
an UpdateResponse is returned for each CourseOfferingForm
, although the ordering is not defined. Only errors that pertain to the
entire update operation are returned from updateCourseOfferings()
, errors specific to an individual CourseOfferingForm are
indicated in the corresponding UpdateResponse .
UpdateResponses may be linked to the originating
CourseOfferingForm through the CourseOfferingForm Id .
The delete operations delete CourseOfferings in bulk. To unmap
a CourseOffering from the current CourseCatalog , the
CourseOfferingCourseCatalogAssignmentSession should be used. These
delete operations attempt to remove the CourseOffering itself thus
removing it from all known CourseCatalog catalogs. Bulk delete
operations return the results in DeleteResponses .
-
Method Summary
Modifier and TypeMethodDescriptionaliasCourseOfferings(AliasRequestList aliasRequests) Adds anIdto aCourseOfferingfor the purpose of creating compatibility.createCourseOfferings(CourseOfferingBatchFormList courseOfferingForms) Creates a new set ofCourseOfferings.Deletes allCourseOfferingsin thisCourseCatalog.deleteCourseOfferings(IdList courseOfferingIds) Deletes course offerings for the givenIds.deleteCourseOfferingsForCourse(Id courseId) Deletes course offerings for the given course.deleteCourseOfferingsForCourseAndTerm(Id courseId, Id termId) Deletes course offerings for the given course and term.deleteCourseOfferingsForTerm(Id termId) Deletes course offerings for the given term.Deletes course offerings ineffective before the given date.getCourseOfferingFormsForCreate(CourseOfferingPeerList peers, Type[] courseOfferingRecordTypes) Gets the course offering forms for creating a bunch of new course offerings.getCourseOfferingFormsForUpdate(IdList courseOfferingIds) Gets the course offering forms for updating an existing set of course offerings.updateCourseOfferings(CourseOfferingBatchFormList courseOfferingForms) Updates existing course offerings.Methods inherited from interface CourseOfferingAdminSession
aliasCourseOffering, canCreateCourseOfferings, canCreateCourseOfferingWithRecordTypes, canDeleteCourseOfferings, canManageCourseOfferingAliases, canUpdateCourseOfferings, createCourseOffering, deleteCourseOffering, getCourseCatalog, getCourseCatalogId, getCourseOfferingFormForCreate, getCourseOfferingFormForUpdate, updateCourseOfferingModifier and TypeMethodDescriptionvoidaliasCourseOffering(Id courseOfferingId, Id aliasId) Adds anIdto aCourseOfferingfor the purpose of creating compatibility.booleanTests if this user can createCourseOfferings.booleancanCreateCourseOfferingWithRecordTypes(Type[] courseOfferingRecordTypes) Tests if this user can create a singleCourseOfferingusing the desired record types.booleanTests if this user can deleteCourseOfferings.booleanTests if this user can manageIdaliases forCourseOfferings.booleanTests if this user can updateCourseOfferings.createCourseOffering(CourseOfferingForm courseOfferingForm) Creates a newCourseOffering.voiddeleteCourseOffering(Id courseOfferingId) Deletes aCourseOffering.Gets theCourseCatalogassociated with this session.Gets theCourseCatalogIdassociated with this session.getCourseOfferingFormForCreate(Id courseId, Id termId, Type[] courseOfferingRecordTypes) Gets the course form for creating new course offerings.getCourseOfferingFormForUpdate(Id courseOfferingId) Gets the course offering form for updating an existing course offering.voidupdateCourseOffering(CourseOfferingForm courseOfferingForm) Updates an existing course offering.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getCourseOfferingFormsForCreate
CourseOfferingBatchFormList getCourseOfferingFormsForCreate(CourseOfferingPeerList peers, Type[] courseOfferingRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the course offering forms for creating a bunch of new course offerings. A form is returned for each canonical course and term pair.- Parameters:
peers- the relationship peerscourseOfferingRecordTypes- array of course offering record types to be included in each create operation or an empty list if none- Returns:
- the course offering forms
- Throws:
NotFoundException- acourseIdortermIdis not foundNullArgumentException-peersorcourseOfferingRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to request forms with given record types- Compliance:
mandatory- This method must be implemented.
-
createCourseOfferings
CreateResponseList createCourseOfferings(CourseOfferingBatchFormList courseOfferingForms) throws OperationFailedException, PermissionDeniedException Creates a new set ofCourseOfferings. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in theBatchCreateResponse.- Parameters:
courseOfferingForms- the course offering forms- Returns:
- the create responses
- Throws:
NullArgumentException-courseOfferingFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getCourseOfferingFormsForUpdate
CourseOfferingBatchFormList getCourseOfferingFormsForUpdate(IdList courseOfferingIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the course offering forms for updating an existing set of course offerings. A new course offering form should be requested for each update transaction.- Parameters:
courseOfferingIds- theIdsof theCourseOffering- Returns:
- the course offering form
- Throws:
NotFoundException- acourseOfferingIdis not foundNullArgumentException-courseOfferingIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateCourseOfferings
UpdateResponseList updateCourseOfferings(CourseOfferingBatchFormList courseOfferingForms) throws OperationFailedException, PermissionDeniedException Updates existing course offerings. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in theBatchCreateResponse.- Parameters:
courseOfferingForms- the form containing the elements to be updated- Returns:
- the update responses
- Throws:
NullArgumentException-courseOfferingFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAllCourseOfferings
DeleteResponseList deleteAllCourseOfferings() throws OperationFailedException, PermissionDeniedExceptionDeletes allCourseOfferingsin thisCourseCatalog.- Returns:
- the delete responses
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteCourseOfferings
DeleteResponseList deleteCourseOfferings(IdList courseOfferingIds) throws OperationFailedException, PermissionDeniedException Deletes course offerings for the givenIds.- Parameters:
courseOfferingIds- theIdsof the course offerings to delete- Returns:
- the delete responses
- Throws:
NullArgumentException-courseOfferingIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteCourseOfferingsForCourse
DeleteResponseList deleteCourseOfferingsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException Deletes course offerings for the given course.- Parameters:
courseId- theIdof a course- Returns:
- the delete responses
- Throws:
NullArgumentException-courseIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteCourseOfferingsForTerm
DeleteResponseList deleteCourseOfferingsForTerm(Id termId) throws OperationFailedException, PermissionDeniedException Deletes course offerings for the given term.- Parameters:
termId- theIdof a term- Returns:
- the delete responses
- Throws:
NullArgumentException-termIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteCourseOfferingsForCourseAndTerm
DeleteResponseList deleteCourseOfferingsForCourseAndTerm(Id courseId, Id termId) throws OperationFailedException, PermissionDeniedException Deletes course offerings for the given course and term.- Parameters:
courseId- theIdof a coursetermId- theIdof a term- Returns:
- the delete responses
- Throws:
NullArgumentException-courseIdortermIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteIneffectiveCourseOfferingsByDate
DeleteResponseList deleteIneffectiveCourseOfferingsByDate(DateTime date) throws OperationFailedException, PermissionDeniedException Deletes course offerings ineffective before the given date.- Parameters:
date- a date- Returns:
- the delete responses
- Throws:
NullArgumentException-dateisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
aliasCourseOfferings
AliasResponseList aliasCourseOfferings(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException Adds anIdto aCourseOfferingfor the purpose of creating compatibility. The primaryIdof theCourseOfferingis determined by the provider. The newIdis an alias to the primaryId. If the alias is a pointer to another course offering, it is reassigned to the given course offeringId.- Parameters:
aliasRequests- the alias requests- Returns:
- the alias responses
- Throws:
NullArgumentException-aliasRequestsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-