Interface ControllerBatchAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, ControllerAdminSession, OsidSession, OsidSession
This session creates, updates, and deletes Controllers 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
Controller , a ControllerForm is requested using
getControllerFormsForCreate() specifying the desired record Types
or none if no record Types are needed. Each of the returned
ControllerForms 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 ControllerForm is submiited to a create
operation, it cannot be reused with another create operation unless the
first operation was unsuccessful. Each ControllerForm corresponds
to an attempted transaction.
The ControllerForms returned from
getControllerFormsForCreate() may be linked to the originating request
through the peer Ids of the ControllerForm . In the case
where there may be duplicates, any ControllerForm of the same peer
Ids may be used for a create operation.
Once a batch of ControllerForm are submitted for create, a
CreateController is returned for each ControllerForm ,
although the ordering is not defined. Only errors that pertain to the
entire create operation are returned from createControllers() ,
errors specific to an individual ControllerForm are indicated in
the corresponding CreateController . CreateControllers may
be linked to the originating ControllerForm through the
ControllerForm Id .
For updates, ControllerForms are requested to the
Controller Id that is to be updated using
getControllerFormsForUpdate() where the reference Id in the
ControllerForm may be used to link the request. Similarly, the
ControllerForm has metadata about the data that can be updated and
it can perform validation before submitting the update. The
ControllerForm can only be used once for a successful update and cannot
be reused.
Once a batch of ControllerForms are submitted for update, an
UpdateController is returned for each ControllerForm ,
although the ordering is not defined. Only errors that pertain to the
entire update operation are returned from updateControllers() ,
errors specific to an individual ControllerForm are indicated in
the corresponding UpdateController . UpdateControllers may
be linked to the originating ControllerForm through the
ControllerForm Id .
The delete operations delete Controllers in bulk. To unmap a
Controller from the current System , the
ControllerSystemAssignmentSession should be used. These delete operations
attempt to remove the Controller itself thus removing it from all
known System catalogs. Bulk delete operations return the results
in DeleteControllers .
-
Method Summary
Modifier and TypeMethodDescriptionaliasControllers(AliasRequestList aliasRequests) Adds anIdto aControllerfor the purpose of creating compatibility.createControllers(ControllerBatchFormList controllerForms) Creates a new set ofControllers.Deletes allControllersin thisSystem.deleteControllers(IdList controllerIds) Deletes controllers for the givenIds.getControllerFormsForCreate(long n, Type[] controllerRecordTypes) Gets the controller forms for creating a bunch of new controllers.getControllerFormsForUpdate(IdList controllerIds) Gets the controller forms for updating an existing set of controllers.updateControllers(ControllerBatchFormList controllerForms) Updates existing controllers.Methods inherited from interface ControllerAdminSession
aliasController, canCreateController, canCreateControllerWithRecordTypes, canDeleteControllers, canManageControllerAliases, canUpdateControllers, createController, deleteController, getControllerFormForCreate, getControllerFormForUpdate, getSystem, getSystemId, updateControllerModifier and TypeMethodDescriptionvoidaliasController(Id controllerId, Id aliasId) Adds anIdto aControllerfor the purpose of creating compatibility.booleanTests if this user can create controllers.booleancanCreateControllerWithRecordTypes(Type[] controllerRecordTypes) Tests if this user can create a singleControllerusing the desired record types.booleanTests if this user can delete controllers.booleanTests if this user can manageIdaliases for controllers.booleanTests if this user can update controllers.createController(ControllerForm controllerForm) Creates a newController.voiddeleteController(Id controllerId) Deletes aController.getControllerFormForCreate(Type[] controllerRecordTypes) Gets the controller form for creating new controllers.getControllerFormForUpdate(Id controllerId) Gets the controller form for updating an existing controller.Gets theSystemassociated with this session.Gets theSystemIdassociated with this session.voidupdateController(ControllerForm controllerForm) Updates an existing controller.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
-
getControllerFormsForCreate
ControllerBatchFormList getControllerFormsForCreate(long n, Type[] controllerRecordTypes) throws OperationFailedException, PermissionDeniedException Gets the controller forms for creating a bunch of new controllers.- Parameters:
n- the number of forms to retrievecontrollerRecordTypes- array of controller record types to be included in each create operation or an empty list if none- Returns:
- the controller forms
- Throws:
NullArgumentException-controllerRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to request forms with given record types- Compliance:
mandatory- This method must be implemented.
-
createControllers
CreateResponseList createControllers(ControllerBatchFormList controllerForms) throws OperationFailedException, PermissionDeniedException Creates a new set ofControllers. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in theBatchCreateController.- Parameters:
controllerForms- the controller forms- Returns:
- the create responses
- Throws:
NullArgumentException-controllerFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getControllerFormsForUpdate
ControllerBatchFormList getControllerFormsForUpdate(IdList controllerIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the controller forms for updating an existing set of controllers. A new controller form should be requested for each update transaction.- Parameters:
controllerIds- theIdsof theController- Returns:
- the controller form
- Throws:
NotFoundException- acontrollerIdis not foundNullArgumentException-controllerIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateControllers
UpdateResponseList updateControllers(ControllerBatchFormList controllerForms) throws OperationFailedException, PermissionDeniedException Updates existing controllers. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in theBatchCreateController.- Parameters:
controllerForms- the form containing the elements to be updated- Returns:
- the update responses
- Throws:
NullArgumentException-controllerFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAllControllers
DeleteResponseList deleteAllControllers() throws OperationFailedException, PermissionDeniedExceptionDeletes allControllersin thisSystem.- Returns:
- the delete responses
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteControllers
DeleteResponseList deleteControllers(IdList controllerIds) throws OperationFailedException, PermissionDeniedException Deletes controllers for the givenIds.- Parameters:
controllerIds- theIdsof the controllers to delete- Returns:
- the delete responses
- Throws:
NullArgumentException-controllerIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
aliasControllers
AliasResponseList aliasControllers(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException Adds anIdto aControllerfor the purpose of creating compatibility. The primaryIdof theControlleris determined by the provider. The newIdis an alias to the primaryId. If the alias is a pointer to another controller, it is reassigned to the given controllerId.- 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.
-