public interface KeyBatchAdminSession extends KeyAdminSession
This session creates, updates, and deletes Keys 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
Key, a KeyForm is requested using
getKeyFormsForCreate() specifying the desired agent and record
Types or none if no record Types are needed.
Each of the returned KeyForms 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 KeyForm is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each KeyForm
corresponds to an attempted transaction.
The KeyForms returned from
getKeyFormsForCreate() may be linked to the originating request
through the peer Ids of the KeyForm. In the
case where there may be duplicates, any KeyForm of the same
peer Ids may be used for a create operation.
Once a batch of KeyForms are submitted for create, a
CreateResponse is returned for each KeyForm,
although the ordering is not defined. Only errors that pertain to the
entire create operation are returned from createKeys(),
errors specific to an individual KeyForm are indicated in
the corresponding CreateResponse. CreateResponses
may be linked to the originating KeyForm through
the KeyForm Id .
For updates, KeyForms are requested to the Key
Id that is to be updated using
getKeyFormsForUpdate() where the reference Id in
the KeyForm may be used to link the request. Similarly, the
KeyForm has metadata about the data that can be updated and
it can perform validation before submitting the update. The KeyForm
can only be used once for a successful update and cannot be
reused.
Once a batch of KeyForms are submitted for update, an
UpdateResponse is returned for each KeyForm,
although the ordering is not defined. Only errors that pertain to the
entire update operation are returned from updateKeys(),
errors specific to an individual KeyForm are indicated in
the corresponding UpdateResponse. UpdateResponses
may be linked to the originating KeyForm through
the KeyForm Id.
The delete operations delete Keys in bulk. To unmap a
Key from the current Agency, the
KeyAgencyAssignmentSession should be used. These delete operations
attempt to remove the Key itself thus removing it from all
known Agency catalogs. Bulk delete operations return the
results in DeleteResponses.
| Modifier and Type | Method and Description |
|---|---|
AliasResponseList |
aliasKeys(AliasRequestList aliasRequests)
Adds an
Id to a Key for the purpose of
creating compatibility. |
CreateResponseList |
createKeys(KeyBatchFormList keyForms)
Creates a new set of
Keys. |
DeleteResponseList |
deleteAllKeys()
Deletes all
Keys in this Agency . |
DeleteResponseList |
deleteKeys(IdList keyIds)
Deletes keys for the given
Ids. |
DeleteResponseList |
deleteKeysForAgent(Id agentId)
Deletes keys for the given agent
Id. |
KeyBatchFormList |
getKeyFormsForCreate(IdList agentIds,
Type[] keyRecordTypes)
Gets the key forms for creating a bunch of new keys.
|
KeyBatchFormList |
getKeyFormsForUpdate(IdList keyIds)
Gets the key forms for updating an existing set of keys.
|
UpdateResponseList |
updateKeys(KeyBatchFormList keyForms)
Updates existing keys.
|
canCreateKeys, canCreateKeyWithRecordTypes, canDeleteKeys, canUpdateKeys, createKey, deleteKey, getAgency, getAgencyId, getKeyFormForCreate, getKeyFormForUpdate, updateKeygetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseKeyBatchFormList getKeyFormsForCreate(IdList agentIds, Type[] keyRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
agentIds - a list of agent Ids keyRecordTypes - array of key record types to be included in
each create operation or an empty list if noneNotFoundException - an agentId is not
foundNullArgumentException - agentIds or
keyRecordTypes is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to request forms with
given record typesmandatory - This method must be implemented. CreateResponseList createKeys(KeyBatchFormList keyForms) throws OperationFailedException, PermissionDeniedException
Keys. This method returns an error
if the entire operation fails. Otherwise, the status of an individual
create operation is indicated in the BatchCreateResponse
.keyForms - the key formsNullArgumentException - keyForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. KeyBatchFormList getKeyFormsForUpdate(IdList keyIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
keyIds - the Ids of the Key NotFoundException - a keyId is not foundNullArgumentException - keyIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. UpdateResponseList updateKeys(KeyBatchFormList keyForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse .keyForms - the form containing the elements to be updatedNullArgumentException - keyForms is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteAllKeys() throws OperationFailedException, PermissionDeniedException
Keys in this Agency .OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteKeys(IdList keyIds) throws OperationFailedException, PermissionDeniedException
Ids. keyIds - the Ids of the keys to deleteNullArgumentException - keyIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteKeysForAgent(Id agentId) throws OperationFailedException, PermissionDeniedException
Id. agentId - the Id of an agentNullArgumentException - agentId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. AliasResponseList aliasKeys(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id to a Key for the purpose of
creating compatibility. The primary Id of the
Key is determined by the provider. The new Id
is an alias to the primary Id. If the alias is a
pointer to another key, it is reassigned to the given key Id.
aliasRequests - the alias requestsNullArgumentException - aliasRequests is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.