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, updateRequest
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
RequestBatchFormList 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.