public interface WorkBatchAdminSession extends WorkAdminSession
This session creates, updates, and deletes Works
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
Work,
a WorkForm
is requested using
getWorkFormsForCreate()
specifying the desired record Types
or none if no record Types
are needed. Each of the
returned WorkForms
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 WorkForm
is submiited to a create
operation, it cannot be reused with another create operation unless the
first operation was unsuccessful. Each WorkForm
corresponds
to an attempted transaction.
The WorkForms
returned from
getWorkFormsForCreate()
may be linked to the originating request
through the peer Ids
of the WorkForm.
In the
case where there may be duplicates, any WorkForm
of the
same peer Ids
may be used for a create operation.
Once a batch of WorkForms
are submitted for create, a
CreateResponse
is returned for each WorkForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createWorks(),
errors specific to an individual WorkForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating WorkForm
through the WorkForm
Id
.
For updates, WorkForms
are requested to the Work
Id
that is to be updated using
getWorkFormsForUpdate()
where the reference Id
in
the WorkForm
may be used to link the request. Similarly,
the WorkForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
WorkForm
can only be used once for a successful update and
cannot be reused.
Once a batch of WorkForms
are submitted for update, an
UpdateResponse
is returned for each WorkForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateWorks(),
errors specific to an individual WorkForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating WorkForm
through the WorkForm
Id.
The delete operations delete Works
in bulk. To unmap a
Work
from the current Office,
the
WorkOfficeAssignmentSession
should be used. These delete
operations attempt to remove the Work
itself thus removing
it from all known Office
catalogs. Bulk delete operations
return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasWorks(AliasRequestList aliasRequests)
Adds an
Id to a Work for the purpose of
creating compatibility. |
CreateResponseList |
createWorks(WorkBatchFormList workForms)
Creates a new set of
Works. |
DeleteResponseList |
deleteAllWorks()
Deletes all
Works in this Office . |
DeleteResponseList |
deleteWorks(IdList workIds)
Deletes works for the given
Ids. |
WorkBatchFormList |
getWorkFormsForCreate(long number,
Type[] workRecordTypes)
Gets the work forms for creating a bunch of new works.
|
WorkBatchFormList |
getWorkFormsForUpdate(IdList workIds)
Gets the work forms for updating an existing set of works.
|
UpdateResponseList |
updateWorks(WorkBatchFormList workForms)
Updates existing works.
|
aliasWork, canCreateWorks, canCreateWorkWithRecordTypes, canDeleteWorks, canManageWorkAliases, canManageWorkStatus, canMoveWork, canUpdateWorks, completeWork, createWork, deleteWork, getOffice, getOfficeId, getWorkFormForCreate, getWorkFormForUpdate, moveWork, reopenWork, updateWork
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
WorkBatchFormList getWorkFormsForCreate(long number, Type[] workRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrieveworkRecordTypes
- array of work record types to be included in
each create operation or an empty list if noneNullArgumentException
- workRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createWorks(WorkBatchFormList workForms) throws OperationFailedException, PermissionDeniedException
Works.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.workForms
- the work formsNullArgumentException
- workForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. WorkBatchFormList getWorkFormsForUpdate(IdList workIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
workIds
- the Ids
of the Work
NotFoundException
- a workId
is not
foundNullArgumentException
- workIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateWorks(WorkBatchFormList workForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.workForms
- the form containing the elements to be updatedNullArgumentException
- workForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllWorks() throws OperationFailedException, PermissionDeniedException
Works
in this Office
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteWorks(IdList workIds) throws OperationFailedException, PermissionDeniedException
Ids.
workIds
- the Ids
of the works to deleteNullArgumentException
- workIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasWorks(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Work
for the purpose of
creating compatibility. The primary Id
of the
Work
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is a
pointer to another work, it is reassigned to the given work Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.