public interface CommissionBatchAdminSession extends CommissionAdminSession
This session creates, updates, and deletes Commissions
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
Commission,
a CommissionForm
is requested using
getCommissionFormsForCreate()
specifying the desired work,
resource, and record Types
or none if no record
Types
are needed. Each of the returned CommissionForms
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
CommissionForm
is submiited to a create operation, it
cannot be reused with another create operation unless the first operation
was unsuccessful. Each CommissionForm
corresponds to an
attempted transaction.
The CommissionForms
returned from
getCommissionFormsForCreate()
may be linked to the originating
request through the peer Ids
of the CommissionForm.
In the case where there may be duplicates, any
CommissionForm
of the same peer Ids
may be used for
a create operation.
Once a batch of CommissionForms
are submitted for
create, a CreateResponse
is returned for each
CommissionForm,
although the ordering is not defined. Only errors
that pertain to the entire create operation are returned from
createCommissions(),
errors specific to an individual
CommissionForm
are indicated in the corresponding
CreateResponse.
CreateResponses
may be linked to
the originating CommissionForm
through the
CommissionForm
Id
.
For updates, CommissionForms
are requested to the
Commission
Id
that is to be updated using
getCommissionFormsForUpdate()
where the reference Id
in the CommissionForm
may be used to link the
request. Similarly, the CommissionForm
has metadata about
the data that can be updated and it can perform validation before
submitting the update. The CommissionForm
can only be used
once for a successful update and cannot be reused.
Once a batch of CommissionForms
are submitted for
update, an UpdateResponse
is returned for each
CommissionForm,
although the ordering is not defined. Only errors
that pertain to the entire update operation are returned from
updateCommissions(),
errors specific to an individual
CommissionForm
are indicated in the corresponding
UpdateResponse.
UpdateResponses
may be linked to
the originating CommissionForm
through the
CommissionForm
Id.
The delete operations delete Commissions
in bulk. To
unmap a Commission
from the current Foundry,
the CommissionFoundryAssignmentSession
should be used.
These delete operations attempt to remove the Commission
itself thus removing it from all known Foundry
catalogs.
Bulk delete operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasCommissions(AliasRequestList aliasRequests)
Adds an
Id to a Commission for the
purpose of creating compatibility. |
CreateResponseList |
createCommissions(CommissionBatchFormList commissionForms)
Creates a new set of
Commissions. |
DeleteResponseList |
deleteAllCommissions()
Deletes all
Commissions in this Foundry
. |
DeleteResponseList |
deleteCommissions(IdList commissionIds)
Deletes commissions for the given
Ids. |
DeleteResponseList |
deleteCommissionsForResource(Id resourceId)
Deletes commissions for the given resource.
|
DeleteResponseList |
deleteCommissionsForWork(Id workId)
Deletes commissions for the given work.
|
DeleteResponseList |
deleteIneffectiveCommissionsByDate(DateTime date)
Deletes commissions expired before the given date.
|
CommissionBatchFormList |
getCommissionFormsForCreate(CommissionPeerList peers,
Type[] commissionRecordTypes)
Gets the commission forms for creating a bunch of new commissions.
|
CommissionBatchFormList |
getCommissionFormsForUpdate(IdList commissionIds)
Gets the commission forms for updating an existing set of commissions.
|
UpdateResponseList |
updateCommissions(CommissionBatchFormList commissionForms)
Updates existing commissions.
|
aliasCommission, canCreateCommissions, canCreateCommissionWithRecordTypes, canDeleteCommissions, canManageCommissionAliases, canUpdateCommissions, createCommission, deleteCommission, getCommissionFormForCreate, getCommissionFormForUpdate, getFoundry, getFoundryId, updateCommission
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
CommissionBatchFormList getCommissionFormsForCreate(CommissionPeerList peers, Type[] commissionRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
peers
- the relationship peerscommissionRecordTypes
- array of commission record types to be
included in each create operation or an empty list if noneNotFoundException
- a workId
or
resourceId
is not foundNullArgumentException
- peers
or
commissionRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createCommissions(CommissionBatchFormList commissionForms) throws OperationFailedException, PermissionDeniedException
Commissions.
This method returns
an error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.commissionForms
- the commission formsNullArgumentException
- commissionForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. CommissionBatchFormList getCommissionFormsForUpdate(IdList commissionIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
commissionIds
- the Ids
of the Commission
NotFoundException
- a commissionId
is
not foundNullArgumentException
- commissionIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateCommissions(CommissionBatchFormList commissionForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.commissionForms
- the form containing the elements to be updatedNullArgumentException
- commissionForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllCommissions() throws OperationFailedException, PermissionDeniedException
Commissions
in this Foundry
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCommissions(IdList commissionIds) throws OperationFailedException, PermissionDeniedException
Ids.
commissionIds
- the Ids
of the commissions to
deleteNullArgumentException
- commissionIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCommissionsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
resourceId
- the Id
of a resourceNullArgumentException
- resourceId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCommissionsForWork(Id workId) throws OperationFailedException, PermissionDeniedException
workId
- the Id
of a workNullArgumentException
- workId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteIneffectiveCommissionsByDate(DateTime date) throws OperationFailedException, PermissionDeniedException
date
- a dateNullArgumentException
- date
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasCommissions(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Commission
for the
purpose of creating compatibility. The primary Id
of
the Commission
is determined by the provider. The new
Id
is an alias to the primary Id.
If the
alias is a pointer to another commission, it is reassigned to the
given commission Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.