Interface LogBatchAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, LogAdminSession, OsidSession, OsidSession
This session creates, updates, and deletes Logs 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
Log , a LogForm is requested using getLogFormsForCreate()
specifying the desired record Types or none if no record
Types are needed. Each of the returned LogForms 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 LogForm is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
LogForm corresponds to an attempted transaction.
The LogForms returned from getLogFormsForCreate() may
be linked to the originating request through the peer Ids of the
LogForm . In the case where there may be duplicates, any
LogForm of the same peer Ids may be used for a create operation.
Once a batch of LogForms are submitted for create, a
CreateResponse is returned for each LogForm , although the
ordering is not defined. Only errors that pertain to the entire create
operation are returned from createLogs() , errors specific to an
individual LogForm are indicated in the corresponding
CreateResponse . CreateResponses may be linked to the originating
LogForm through the LogForm Id .
For updates, LogForms are requested to the Log
Id that is to be updated using getLogFormsForUpdate() where the
reference Id in the LogForm may be used to link the
request. Similarly, the LogForm has metadata about the data that
can be updated and it can perform validation before submitting the update.
The LogForm can only be used once for a successful update and
cannot be reused.
Once a batch of LogForms are submitted for update, an
UpdateResponse is returned for each LogForm , although the
ordering is not defined. Only errors that pertain to the entire update
operation are returned from updateLogs() , errors specific to an
individual LogForm are indicated in the corresponding
UpdateResponse . UpdateResponses may be linked to the originating
LogForm through the LogForm Id .
The delete operations delete Logs in bulk. Bulk delete
operations return the results in DeleteResponses .
-
Method Summary
Modifier and TypeMethodDescriptionaliasLogs(AliasRequestList aliasRequests) Adds anIdto aLogfor the purpose of creating compatibility.createLogs(LogBatchFormList logForms) Creates a new set ofLogs.Deletes allLogs.deleteLogs(IdList logIds) Deletes logs for the givenIds.getLogFormsForCreate(long number, Type[] logRecordTypes) Gets the log forms for creating a bunch of new logs.getLogFormsForUpdate(IdList logIds) Gets the log forms for updating an existing set of logs.updateLogs(LogBatchFormList logForms) Updates existing logs.Methods inherited from interface LogAdminSession
aliasLog, canCreateLogs, canCreateLogWithRecordTypes, canDeleteLogs, canManageLogAliases, canUpdateLogs, createLog, deleteLog, getLogFormForCreate, getLogFormForUpdate, updateLogModifier and TypeMethodDescriptionvoidAdds anIdto aLogfor the purpose of creating compatibility.booleanTests if this user can createLogs.booleancanCreateLogWithRecordTypes(Type[] logRecordTypes) Tests if this user can create a singleLogusing the desired record types.booleanTests if this user can deleteLogs.booleanTests if this user can manageIdaliases forLogs.booleanTests if this user can updateLogs.Creates a newLog.voidDeletes aLog.getLogFormForCreate(Type[] logRecordTypes) Gets the log form for creating new logs.getLogFormForUpdate(Id logId) Gets the log form for updating an existing log.voidUpdates an existing log.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
-
getLogFormsForCreate
LogBatchFormList getLogFormsForCreate(long number, Type[] logRecordTypes) throws OperationFailedException, PermissionDeniedException Gets the log forms for creating a bunch of new logs.- Parameters:
number- the number of forms to retrievelogRecordTypes- array of log record types to be included in each create operation or an empty list if none- Returns:
- the log forms
- Throws:
NullArgumentException-logRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to request forms with given record types- Compliance:
mandatory- This method must be implemented.
-
createLogs
CreateResponseList createLogs(LogBatchFormList logForms) throws OperationFailedException, PermissionDeniedException Creates a new set ofLogs. This method returns an error if the entire operation fails. Otherwise, the status of an individual create operation is indicated in theBatchCreateResponse.- Parameters:
logForms- the log forms- Returns:
- the create responses
- Throws:
NullArgumentException-logFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getLogFormsForUpdate
LogBatchFormList getLogFormsForUpdate(IdList logIds) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the log forms for updating an existing set of logs. A new log form should be requested for each update transaction.- Parameters:
logIds- theIdsof theLog- Returns:
- the log form
- Throws:
NotFoundException- alogIdis not foundNullArgumentException-logIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateLogs
UpdateResponseList updateLogs(LogBatchFormList logForms) throws OperationFailedException, PermissionDeniedException Updates existing logs. This method returns an error if the entire operation fails. Otherwise, the status of an individual update operation is indicated in theBatchCreateResponse.- Parameters:
logForms- the form containing the elements to be updated- Returns:
- the update responses
- Throws:
NullArgumentException-logFormsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteAllLogs
Deletes allLogs.- Returns:
- the delete responses
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
deleteLogs
DeleteResponseList deleteLogs(IdList logIds) throws OperationFailedException, PermissionDeniedException Deletes logs for the givenIds.- Parameters:
logIds- theIdsof the logs to delete- Returns:
- the delete responses
- Throws:
NullArgumentException-logIdsisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
aliasLogs
AliasResponseList aliasLogs(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException Adds anIdto aLogfor the purpose of creating compatibility. The primaryIdof theLogis determined by the provider. The newIdis an alias to the primaryId. If the alias is a pointer to another log, it is reassigned to the given logId.- 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.
-