Interface AgentBatchAdminSession
- All Superinterfaces:
AgentAdminSession, AutoCloseable, Closeable, OsidSession, OsidSession
This session creates, updates, and deletes Agents 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
Agent , an AgentForm is requested using
getAgentFormsForCreate() specifying the desired record Types or
none if no record Types are needed. Each of the returned
AgentForms 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 AgentForm is submiited to a create operation, it cannot be
reused with another create operation unless the first operation was
unsuccessful. Each AgentForm corresponds to an attempted
transaction.
The AgentForms returned from getAgentFormsForCreate()
may be linked to the originating request through the peer Ids of
the AgentForm . In the case where there may be duplicates, any
AgentForm of the same peer Ids may be used for a create
operation.
Once a batch of AgentForms are submitted for create, a
CreateResponse is returned for each AgentForm , although the
ordering is not defined. Only errors that pertain to the entire create
operation are returned from createAgents() , errors specific to an
individual AgentForm are indicated in the corresponding
CreateResponse . CreateResponses may be linked to the originating
AgentForm through the AgentForm Id .
For updates, AgentForms are requested to the Agent
Id that is to be updated using getAgentFormsForUpdate()
where the reference Id in the AgentForm may be used to
link the request. Similarly, the AgentForm has metadata about the
data that can be updated and it can perform validation before submitting
the update. The AgentForm can only be used once for a successful
update and cannot be reused.
Once a batch of AgentForms are submitted for update, an
UpdateResponse is returned for each AgentForm , although the
ordering is not defined. Only errors that pertain to the entire update
operation are returned from updateAgents() , errors specific to an
individual AgentForm are indicated in the corresponding
UpdateResponse . UpdateResponses may be linked to the originating
AgentForm through the AgentForm Id .
The delete operations delete Agents in bulk. To unmap an
Agent from the current Agency , the
AgentAgencyAssignmentSession should be used. These delete operations
attempt to remove the Agent itself thus removing it from all known
Agency catalogs. Bulk delete operations return the results in
DeleteResponses .
-
Method Summary
Modifier and TypeMethodDescriptionaliasAgents(AliasRequestList aliasRequests) Adds anIdto anAgentfor the purpose of creating compatibility.createAgents(AgentBatchFormList agentForms) Creates a new set ofAgents.deleteAgents(IdList agentIds) Deletes agents for the givenIds.Deletes allAgentsin thisAgency.getAgentFormsForCreate(long number, Type[] agentRecordTypes) Gets the agent forms for creating a bunch of new agents.getAgentFormsForUpdate(IdList agentIds) Gets the agent forms for updating an existing set of agents.updateAgents(AgentBatchFormList agentForms) Updates existing agents.Methods inherited from interface AgentAdminSession
aliasAgent, canCreateAgents, canCreateAgentWithRecordTypes, canDeleteAgent, canDeleteAgents, canManageAgentAliases, canUpdateAgent, canUpdateAgents, createAgent, deleteAgent, getAgency, getAgencyId, getAgentFormForCreate, getAgentFormForUpdate, updateAgentModifier and TypeMethodDescriptionvoidaliasAgent(Id agentId, Id aliasId) Adds anIdto anAgentfor the purpose of creating compatibility.booleanTests if this user can createAgents.booleancanCreateAgentWithRecordTypes(Type[] agentRecordTypes) Tests if this user can create a singleAgentusing the desired record types.booleancanDeleteAgent(Id agentId) Tests if this user can delete a specifiedAgent.booleanTests if this user can deleteAgents.booleanTests if this user can manageIdaliases forAgents.booleancanUpdateAgent(Id agentId) Tests if this user can update a specified agent.booleanTests if this user can updateAgents.createAgent(AgentForm agentForm) Creates a newAgent.voiddeleteAgent(Id agentId) Deletes theAgentidentified by the givenIdremoving it from all otherAgenciesto which thisAgentis associated.Gets theAgencyassociated with this session.Gets theAgencyIdassociated with this session.getAgentFormForCreate(Type[] agentRecordTypes) Gets the agent form for creating new agents.getAgentFormForUpdate(Id agentId) Gets the agent form for updating an existing agent.voidupdateAgent(AgentForm agentForm) Updates an existing agent.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
-
getAgentFormsForCreate
AgentBatchFormList getAgentFormsForCreate(long number, Type[] agentRecordTypes) throws OperationFailedException, PermissionDeniedException Gets the agent forms for creating a bunch of new agents.- Parameters:
number- the number of forms to retrieveagentRecordTypes- array of agent record types to be included in each create operation or an empty list if none- Returns:
- the agent forms
- Throws:
NullArgumentException-agentRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to request forms with given record types- Compliance:
mandatory- This method must be implemented.
-
createAgents
CreateResponseList createAgents(AgentBatchFormList agentForms) throws OperationFailedException, PermissionDeniedException Creates a new set ofAgents. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in theBatchCreateResponse.- Parameters:
agentForms- the agent forms- Returns:
- the create responses
- Throws:
NullArgumentException-agentFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getAgentFormsForUpdate
AgentBatchFormList getAgentFormsForUpdate(IdList agentIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the agent forms for updating an existing set of agents. A new agent form should be requested for each update transaction.- Parameters:
agentIds- theIdsof theAgent- Returns:
- the agent form
- Throws:
NotFoundException- anagentIdis not foundNullArgumentException-agentIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateAgents
UpdateResponseList updateAgents(AgentBatchFormList agentForms) throws OperationFailedException, PermissionDeniedException Updates existing agents. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in theBatchCreateResponse.- Parameters:
agentForms- the form containing the elements to be updated- Returns:
- the update responses
- Throws:
NullArgumentException-agentFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAllAgents
Deletes allAgentsin thisAgency.- Returns:
- the delete responses
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAgents
DeleteResponseList deleteAgents(IdList agentIds) throws OperationFailedException, PermissionDeniedException Deletes agents for the givenIds.- Parameters:
agentIds- theIdsof the agents to delete- Returns:
- the delete responses
- Throws:
NullArgumentException-agentIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
aliasAgents
AliasResponseList aliasAgents(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException Adds anIdto anAgentfor the purpose of creating compatibility. The primaryIdof theAgentis determined by the provider. The newIdis an alias to the primaryId. If the alias is a pointer to another agent, it is reassigned to the given entryId.- 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.
-