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