public interface RequestBatchAdminSession extends RequestAdminSession
This session creates, updates, and deletes Requests 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 an
Request, an RequestForm is requested using
getRequestFormsForCreate() specifying the desired queue,
resource, record Types or none if no record Types
are needed. Each of the returned RequestForms 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 an
RequestForm is submiited to a create operation, it cannot be
reused with another create operation unless the first operation was
unsuccessful. Each RequestForm corresponds to an attempted
transaction.
The RequestForms returned from
getRequestFormsForCreate() may be linked to the originating
request through the peer Ids of the RequestForm.
In the case where there may be duplicates, any RequestForm
of the same peer Ids may be used for a create
operation.
Once a batch of RequestForms are submitted for create,
a CreateResponse is returned for each RequestForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createRequests(),
errors specific to an individual RequestForm are
indicated in the corresponding CreateResponse.
CreateResponses may be linked to the originating
RequestForm through the RequestForm Id
.
For updates, RequestForms are requested to the
Request Id that is to be updated using
getRequestFormsForUpdate() where the reference Id
in the RequestForm may be used to link the request.
Similarly, the RequestForm has metadata about the data that
can be updated and it can perform validation before submitting the update.
The RequestForm can only be used once for a successful
update and cannot be reused.
Once a batch of RequestForms are submitted for update,
an UpdateResponse is returned for each RequestForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateRequests(),
errors specific to an individual RequestForm are
indicated in the corresponding UpdateResponse.
UpdateResponses may be linked to the originating
RequestForm through the RequestForm Id.
The delete operations delete Requests in bulk. To unmap
an Request from the current Distributor, the
RequestDistributorAssignmentSession should be used. These
delete operations attempt to remove the Request itself thus
removing it from all known Distributor catalogs. Bulk
delete operations return the results in DeleteResponses.
| Modifier and Type | Method and Description |
|---|---|
AliasResponseList |
aliasRequests(AliasRequestList aliasRequests)
Adds an
Id to an Request for the purpose
of creating compatibility. |
CreateResponseList |
createRequests(RequestBatchFormList requestForms)
Creates a new set of
Requests. |
DeleteResponseList |
deleteAllRequests()
Deletes all
Requests in this Distributor
. |
DeleteResponseList |
deleteIneffectiveRequestsByDate(DateTime date)
Deletes requests expired before the given date.
|
DeleteResponseList |
deleteRequests(IdList requestIds)
Deletes requests for the given
Ids. |
DeleteResponseList |
deleteRequestsForQueue(Id queueId)
Deletes requests for the given queue.
|
DeleteResponseList |
deleteRequestsForResource(Id resourceId)
Deletes requests for the given resource.
|
RequestBatchFormList |
getRequestFormsForCreate(RequestPeerList peers,
Type[] requestRecordTypes)
Gets the request forms for creating a bunch of new requests.
|
RequestBatchFormList |
getRequestFormsForUpdate(IdList requestIds)
Gets the request forms for updating an existing set of requests.
|
UpdateResponseList |
updateRequests(RequestBatchFormList requestForms)
Updates existing requests.
|
aliasRequest, canCancelRequests, cancelRequest, canCreateRequests, canCreateRequestWithRecordTypes, canDeleteRequests, canManageRequestAliases, canUpdateRequests, createRequest, deleteRequest, getDistributor, getDistributorId, getRequestFormForCreate, getRequestFormForUpdate, submitRequest, updateRequestgetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseRequestBatchFormList getRequestFormsForCreate(RequestPeerList peers, Type[] requestRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
peers - the relationship peersrequestRecordTypes - array of request record types to be
included in each create operation or an empty list if noneNotFoundException - a queueId or
resourceId is not foundNullArgumentException - peers or
requestRecordTypes is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to request forms with
given record typesmandatory - This method must be implemented. CreateResponseList createRequests(RequestBatchFormList requestForms) throws OperationFailedException, PermissionDeniedException
Requests. This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse .requestForms - the request formsNullArgumentException - requestForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. RequestBatchFormList getRequestFormsForUpdate(IdList requestIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
requestIds - the Ids of the Request
NotFoundException - an requestId is not
foundNullArgumentException - requestIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. UpdateResponseList updateRequests(RequestBatchFormList requestForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse .requestForms - the form containing the elements to be updatedNullArgumentException - requestForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteAllRequests() throws OperationFailedException, PermissionDeniedException
Requests in this Distributor
.OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteRequests(IdList requestIds) throws OperationFailedException, PermissionDeniedException
Ids. requestIds - the Ids of the requests to deleteNullArgumentException - requestIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteRequestsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
resourceId - an Id of a resourceNullArgumentException - resourceId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteRequestsForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
queueId - an Id of a queueNullArgumentException - queueId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteIneffectiveRequestsByDate(DateTime date) throws OperationFailedException, PermissionDeniedException
date - a dateNullArgumentException - date is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. AliasResponseList aliasRequests(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id to an Request for the purpose
of creating compatibility. The primary Id of the
Request is determined by the provider. The new Id
is an alias to the primary Id. If the alias is
a pointer to another request, it is reassigned to the given request
Id. aliasRequests - the alias requestsNullArgumentException - aliasRequests is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.