Interface ProgramOfferingBatchAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession, ProgramAdminSession
This session creates, updates, and deletes ProgramOfferings 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
ProgramOffering , a ProgramOfferingForm is requested using
getProgramOfferingFormsForCreate() specifying the desired program, term,
and record Types or none if no record Types are needed.
Each of the returned ProgramForms 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 ProgramOfferingForm is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
ProgramOfferingForm corresponds to an attempted transaction.
The ProgramForms returned from
getProgramOfferingFormsForCreate() may be linked to the originating
request through the peer Ids of the ProgramOfferingForm .
In the case where there may be duplicates, any ProgramOfferingForm
of the same peer Ids may be used for a create operation.
Once a batch of ProgramOfferingForms are submitted for create,
a CreateResponse is returned for each ProgramOfferingForm
, although the ordering is not defined. Only errors that pertain to the
entire create operation are returned from createProgramOfferings()
, errors specific to an individual ProgramForm are indicated in
the corresponding CreateResponse . CreateResponses may be
linked to the originating ProgramOfferingForm through the
ProgramOfferingForm Id .
For updates, ProgramOfferingForms are requested to the
ProgramOffering Id that is to be updated using
getProgramOfferingFormsForUpdate() where the reference Id in the
ProgramOfferingForm may be used to link the request. Similarly,
the ProgramOfferingForm has metadata about the data that can be
updated and it can perform validation before submitting the update. The
ProgramOfferingForm can only be used once for a successful update
and cannot be reused.
Once a batch of ProgramOfferingForm are submitted for update,
an UpdateResponse is returned for each ProgramOfferingForm
, although the ordering is not defined. Only errors that pertain to the
entire update operation are returned from updateProgramOfferings()
, errors specific to an individual ProgramOfferingForm are
indicated in the corresponding UpdateResponse .
UpdateResponses may be linked to the originating
ProgramOfferingForm through the ProgramOfferingForm Id .
The delete operations delete ProgramOfferings in bulk. To
unmap a ProgramOffering from the current CourseCatalog ,
the ProgramOfferingCourseCatalogAssignmentSession should be used.
These delete operations attempt to remove the ProgramOffering
itself thus removing it from all known CourseCatalog catalogs.
Bulk delete operations return the results in DeleteResponses .
-
Method Summary
Modifier and TypeMethodDescriptionaliasProgramOfferings(AliasRequestList aliasRequests) Adds anIdto aProgramOfferingfor the purpose of creating compatibility.createProgramOfferings(ProgramOfferingBatchFormList programOfferingForms) Creates a new set ofProgramOfferings.Deletes allProgramOfferingsin thisCourseCatalog.deleteProgramOffeingsForProgram(Id programId) Deletes program offerings for the given program.deleteProgramOfferings(IdList programOfferingIds) Deletes program offerings for the givenIds.deleteProgramOfferingsForTerm(Id termId) Deletes programs for the given term.getProgramOfferingFormsForCreate(ProgramOfferingPeerList peers, Type[] programOfferingRecordTypes) Gets the program offering forms for creating a bunch of new program offerings.getProgramOfferingFormsForUpdate(IdList programOfferingIds) Gets the program offering forms for updating an existing set of program offerings.updateProgramOfferings(ProgramOfferingBatchFormList programOfferingForms) Updates existing program offerings.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.Methods inherited from interface ProgramAdminSession
aliasProgram, canCreatePrograms, canCreateProgramWithRecordTypes, canDeletePrograms, canManageProgramAliases, canUpdatePrograms, createProgram, deleteProgram, getCourseCatalog, getCourseCatalogId, getProgramFormForCreate, getProgramFormForUpdate, updateProgramModifier and TypeMethodDescriptionvoidaliasProgram(Id programId, Id aliasId) Adds anIdto aProgramfor the purpose of creating compatibility.booleanTests if this user can createPrograms.booleancanCreateProgramWithRecordTypes(Type[] programRecordTypes) Tests if this user can create a singlePorgramusing the desired record types.booleanTests if this user can deletePrograms.booleanTests if this user can manageIdaliases forPrograms.booleanTests if this user can updatePrograms.createProgram(ProgramForm programForm) Creates a newProgram.voiddeleteProgram(Id programId) Deletes aProgram.Gets theCourseCatalogassociated with this session.Gets theCourseCatalogIdassociated with this session.getProgramFormForCreate(Type[] programRecordTypes) Gets the program form for creating new programs.getProgramFormForUpdate(Id programId) Gets the program form for updating an existing course.voidupdateProgram(ProgramForm programForm) Updates an existing program.
-
Method Details
-
getProgramOfferingFormsForCreate
ProgramOfferingBatchFormList getProgramOfferingFormsForCreate(ProgramOfferingPeerList peers, Type[] programOfferingRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the program offering forms for creating a bunch of new program offerings. A form is returned for supplied canonical program and term pair.- Parameters:
peers- a list of course offering peersprogramOfferingRecordTypes- array of program record types to be included in each create operation or an empty list if none- Returns:
- the program offering forms
- Throws:
NotFoundException- aprogramIdortermIdis not foundNullArgumentException-peersorprogramRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to request forms with given record types- Compliance:
mandatory- This method must be implemented.
-
createProgramOfferings
CreateResponseList createProgramOfferings(ProgramOfferingBatchFormList programOfferingForms) throws OperationFailedException, PermissionDeniedException Creates a new set ofProgramOfferings. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in theBatchCreateResponse.- Parameters:
programOfferingForms- the program offering forms- Returns:
- the create responses
- Throws:
NullArgumentException-programOfferingFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getProgramOfferingFormsForUpdate
ProgramOfferingBatchFormList getProgramOfferingFormsForUpdate(IdList programOfferingIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the program offering forms for updating an existing set of program offerings. A new program offering form should be requested for each update transaction.- Parameters:
programOfferingIds- theIdsof theProgramOffering- Returns:
- the program offering forms
- Throws:
NotFoundException- aprogramOfferingIdis not foundNullArgumentException-programOfferingIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateProgramOfferings
UpdateResponseList updateProgramOfferings(ProgramOfferingBatchFormList programOfferingForms) throws OperationFailedException, PermissionDeniedException Updates existing program offerings. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in theBatchCreateResponse.- Parameters:
programOfferingForms- the form containing the elements to be updated- Returns:
- the update responses
- Throws:
NullArgumentException-programOfferingFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAllProgramOfferings
DeleteResponseList deleteAllProgramOfferings() throws OperationFailedException, PermissionDeniedExceptionDeletes allProgramOfferingsin thisCourseCatalog.- Returns:
- the delete responses
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteProgramOfferings
DeleteResponseList deleteProgramOfferings(IdList programOfferingIds) throws OperationFailedException, PermissionDeniedException Deletes program offerings for the givenIds.- Parameters:
programOfferingIds- theIdsof the program offerings to delete- Returns:
- the delete responses
- Throws:
NullArgumentException-programOfferingIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteProgramOffeingsForProgram
DeleteResponseList deleteProgramOffeingsForProgram(Id programId) throws OperationFailedException, PermissionDeniedException Deletes program offerings for the given program.- Parameters:
programId- theIdof a program- Returns:
- the delete responses
- Throws:
NullArgumentException-programIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteProgramOfferingsForTerm
DeleteResponseList deleteProgramOfferingsForTerm(Id termId) throws OperationFailedException, PermissionDeniedException Deletes programs 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.
-
aliasProgramOfferings
AliasResponseList aliasProgramOfferings(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException Adds anIdto aProgramOfferingfor the purpose of creating compatibility. The primaryIdof theProgramOfferingis determined by the provider. The newIdis an alias to the primaryId. If the alias is a pointer to another program offering, it is reassigned to the given programId.- 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.
-