public interface CanonicalUnitBatchAdminSession extends CanonicalUnitAdminSession
This session creates, updates, and deletes CanonicalUnits
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
CanonicalUnit,
a CanonicalUnitForm
is requested
using getCanonicalUnitFormsForCreate()
specifying the
desired record Types
or none if no record Types
are needed. Each of the returned CanonicalUnitForms
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
CanonicalUnitForm
is submiited to a create operation, it cannot be
reused with another create operation unless the first operation was
unsuccessful. Each CanonicalUnitForm
corresponds to an
attempted transaction.
The CanonicalUnitForms
returned from
getCanonicalUnitFormsForCreate()
may be linked to the originating
request through the peer Ids
of the
CanonicalUnitForm.
In the case where there may be duplicates, any
CanonicalUnitForm
of the same peer Ids
may
be used for a create operation.
Once a batch of CanonicalUnitForms
are submitted for
create, a CreateResponse
is returned for each
CanonicalUnitForm,
although the ordering is not defined. Only
errors that pertain to the entire create operation are returned from
createCanonicalUnits(),
errors specific to an individual
CanonicalUnitForm
are indicated in the corresponding
CreateResponse.
CreateResponses
may be linked to
the originating CanonicalUnitForm
through the
CanonicalUnitForm
Id
.
For updates, CanonicalUnitForms
are requested to the
CanonicalUnit
Id
that is to be updated using
getCanonicalUnitFormsForUpdate()
where the reference
Id
in the CanonicalUnitForm
may be used to link the
request. Similarly, the CanonicalUnitForm
has metadata
about the data that can be updated and it can perform validation before
submitting the update. The CanonicalUnitForm
can only be
used once for a successful update and cannot be reused.
Once a batch of CanonicalUnitForms
are submitted for
update, an UpdateResponse
is returned for each
CanonicalUnitForm,
although the ordering is not defined. Only
errors that pertain to the entire update operation are returned from
updateCanonicalUnits(),
errors specific to an individual
CanonicalUnitForm
are indicated in the corresponding
UpdateResponse.
UpdateResponses
may be linked to
the originating CanonicalUnitForm
through the
CanonicalUnitForm
Id.
The delete operations delete CanonicalUnits
in bulk. To
unmap a CanonicalUnit
from the current Catalogue,
the CanonicalUnitCatalogueAssignmentSession
should
be used. These delete operations attempt to remove the
CanonicalUnit
itself thus removing it from all known
Catalogue
catalogs. Bulk delete operations return the results in
DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasCanonicalUnits(AliasRequestList aliasRequests)
Adds an
Id to a CanonicalUnit for the
purpose of creating compatibility. |
CreateResponseList |
createCanonicalUnits(CanonicalUnitBatchFormList canonicalUnitForms)
Creates a new set of
CanonicalUnits. |
DeleteResponseList |
deleteAllCanonicalUnits()
Deletes all
CanonicalUnits in this Catalogue
. |
DeleteResponseList |
deleteCanonicalUnits(IdList canonicalUnitIds)
Deletes canonicalUnits for the given
Ids. |
CanonicalUnitBatchFormList |
getCanonicalUnitFormsForCreate(long number,
Type[] canonicalUnitRecordTypes)
Gets the canonical unit forms for creating a bunch of new canonical
units.
|
CanonicalUnitBatchFormList |
getCanonicalUnitFormsForUpdate(IdList canonicalUnitIds)
Gets the canonical unit forms for updating an existing set of
canonicalUnits.
|
UpdateResponseList |
updateCanonicalUnits(CanonicalUnitBatchFormList canonicalUnitForms)
Updates existing canonical units.
|
aliasCanonicalUnit, canCreateCanonicalUnits, canCreateCanonicalUnitWithRecordTypes, canDeleteCanonicalUnits, canManageCanonicalUnitAliases, canUpdateCanonicalUnits, createCanonicalUnit, deleteCanonicalUnit, getCanonicalUnitFormForCreate, getCanonicalUnitFormForUpdate, getCatalogue, getCatalogueId, updateCanonicalUnit
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
CanonicalUnitBatchFormList getCanonicalUnitFormsForCreate(long number, Type[] canonicalUnitRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrievecanonicalUnitRecordTypes
- array of canonical unit record types
to be included in each create operation or an empty list if
noneNullArgumentException
- canonicalUnitRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createCanonicalUnits(CanonicalUnitBatchFormList canonicalUnitForms) throws OperationFailedException, PermissionDeniedException
CanonicalUnits.
This method
returns an error if the entire operation fails. Otherwise, the status
of an individual create operation is indicated in the
BatchCreateResponse
.canonicalUnitForms
- the canonical unit formsNullArgumentException
- canonicalUnitForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. CanonicalUnitBatchFormList getCanonicalUnitFormsForUpdate(IdList canonicalUnitIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
canonicalUnitIds
- the Ids
of the
CanonicalUnit
NotFoundException
- a canonicalUnitId
is
not foundNullArgumentException
- canonicalUnitIds
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateCanonicalUnits(CanonicalUnitBatchFormList canonicalUnitForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.canonicalUnitForms
- the form containing the elements to be
updatedNullArgumentException
- canonicalUnitForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllCanonicalUnits() throws OperationFailedException, PermissionDeniedException
CanonicalUnits
in this Catalogue
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCanonicalUnits(IdList canonicalUnitIds) throws OperationFailedException, PermissionDeniedException
Ids.
canonicalUnitIds
- the Ids
of the canonical units
to deleteNullArgumentException
- canonicalUnitIds
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasCanonicalUnits(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a CanonicalUnit
for the
purpose of creating compatibility. The primary Id
of
the CanonicalUnit
is determined by the provider. The
new Id
is an alias to the primary Id.
If
the alias is a pointer to another canonical unit, it is reassigned to
the given canonical unit Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.