public interface SignalBatchAdminSession extends SignalAdminSession
This session creates, updates, and deletes Signals
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
Signal,
a SignalForm
is requested using
getSignalFormsForCreate()
specifying the desired path and record
Types
or none if no record Types
are needed.
Each of the returned SignalForms
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 SignalForm
is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
SignalForm
corresponds to an attempted transaction.
The SignalForms
returned from
getSignalFormsForCreate()
may be linked to the originating request
through the peer Ids
of the SignalForm.
In
the case where there may be duplicates, any SignalForm
of
the same peer Ids
may be used for a create operation.
Once a batch of SignalForms
are submitted for create, a
CreateResponse
is returned for each SignalForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createSignals(),
errors specific to an individual SignalForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating SignalForm
through the SignalForm
Id
.
For updates, SignalForms
are requested to the
Signal
Id
that is to be updated using
getSignalFormsForUpdate()
where the reference Id
in
the SignalForm
may be used to link the request. Similarly,
the SignalForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
SignalForm
can only be used once for a successful update
and cannot be reused.
Once a batch of SignalForms
are submitted for update,
an UpdateResponse
is returned for each SignalForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateSignals(),
errors specific to an individual SignalForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating SignalForm
through the SignalForm
Id.
The delete operations delete Signals
in bulk. To unmap
a Signal
from the current Map,
the
SignalMapAssignmentSession
should be used. These delete operations
attempt to remove the Signal
itself thus removing it from
all known Map
catalogs. Bulk delete operations return the
results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasSignals(AliasRequestList aliasRequests)
Adds an
Id to a Signal for the purpose
of creating compatibility. |
CreateResponseList |
createSignals(SignalBatchFormList signalForms)
Creates a new set of
Signals. |
DeleteResponseList |
deleteAllSignals()
Deletes all
Signals in this Map . |
DeleteResponseList |
deleteSignals(IdList signalIds)
Deletes signals for the given
Ids. |
DeleteResponseList |
deleteSignalsForPath(Id pathId)
Deletes signals for the given path.
|
SignalBatchFormList |
getSignalFormsForCreate(IdList pathIds,
Type[] signalRecordTypes)
Gets the signal forms for creating a bunch of new signals.
|
SignalBatchFormList |
getSignalFormsForUpdate(IdList signalIds)
Gets the signal forms for updating an existing set of signals.
|
UpdateResponseList |
updateSignals(SignalBatchFormList signalForms)
Updates existing signals.
|
aliasSignal, canCreateSignals, canCreateSignalWithRecordTypes, canDeleteSignals, canManageSignalAliases, canUpdateSignals, createSignal, deleteSignal, getMap, getMapId, getSignalFormForCreate, getSignalFormForUpdate, updateSignal
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
SignalBatchFormList getSignalFormsForCreate(IdList pathIds, Type[] signalRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
pathIds
- a list of pathssignalRecordTypes
- array of signal record types to be included
in each create operation or an empty list if noneNotFoundException
- a pathId
is not
foundNullArgumentException
- pathIds
or
signalRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createSignals(SignalBatchFormList signalForms) throws OperationFailedException, PermissionDeniedException
Signals.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.signalForms
- the signal formsNullArgumentException
- signalForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. SignalBatchFormList getSignalFormsForUpdate(IdList signalIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
signalIds
- the Ids
of the Signal
NotFoundException
- a signalId
is not
foundNullArgumentException
- signalIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateSignals(SignalBatchFormList signalForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.signalForms
- the form containing the elements to be updatedNullArgumentException
- signalForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllSignals() throws OperationFailedException, PermissionDeniedException
Signals
in this Map
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteSignals(IdList signalIds) throws OperationFailedException, PermissionDeniedException
Ids.
signalIds
- the Ids
of the signals to deleteNullArgumentException
- signalIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteSignalsForPath(Id pathId) throws OperationFailedException, PermissionDeniedException
pathId
- the Id
of a pathNullArgumentException
- pathId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasSignals(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Signal
for the purpose
of creating compatibility. The primary Id
of the
Signal
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is
a pointer to another signal, it is reassigned to the given signal
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.