public interface RoomBatchAdminSession extends RoomAdminSession
This session creates, updates, and deletes Rooms
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
Room,
a RoomForm
is requested using
getRoomFormsForCreate()
specifying the desired floor and record
Types
or none if no record Types
are needed.
Each of the returned RoomForms
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 RoomForm
is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
RoomForm
corresponds to an attempted transaction.
The RoomForms
returned from
getRoomFormsForCreate()
may be linked to the originating request
through the peer Ids
of the RoomForm.
In the
case where there may be duplicates, any RoomForm
of the
same peer Ids
may be used for a create operation.
Once a batch of RoomForms
are submitted for create, a
CreateResponse
is returned for each RoomForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createRooms(),
errors specific to an individual RoomForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating RoomForm
through the RoomForm
Id
.
For updates, RoomForms
are requested to the Room
Id
that is to be updated using
getRoomFormsForUpdate()
where the reference Id
in
the RoomForm
may be used to link the request. Similarly,
the RoomForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
RoomForm
can only be used once for a successful update and
cannot be reused.
Once a batch of RoomForms
are submitted for update, an
UpdateResponse
is returned for each RoomForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateRooms(),
errors specific to an individual RoomForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating RoomForm
through the RoomForm
Id.
The delete operations delete Rooms
in bulk. To unmap a
Room
from the current Campus,
the
RoomCampusAssignmentSession
should be used. These delete
operations attempt to remove the Room
itself thus removing
it from all known Campus
catalogs. Bulk delete operations
return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasRooms(AliasRequestList aliasRequests)
Adds an
Id to a Room for the purpose of
creating compatibility. |
CreateResponseList |
createRooms(RoomBatchFormList roomForms)
Creates a new set of
Rooms. |
DeleteResponseList |
deleteAllRooms()
Deletes all
Rooms in this Campus . |
DeleteResponseList |
deleteIneffectiveRoomsByDate(DateTime date)
Deletes rooms expired before the given date.
|
DeleteResponseList |
deleteRooms(IdList roomIds)
Deletes rooms for the given
Ids. |
DeleteResponseList |
deleteRoomsForFloor(Id roomId)
Deletes rooms on the given floor.
|
RoomBatchFormList |
getRoomFormsForCreate(IdList floorIds,
Type[] roomRecordTypes)
Gets the room forms for creating a bunch of new rooms.
|
RoomBatchFormList |
getRoomFormsForUpdate(IdList roomIds)
Gets the room forms for updating an existing set of rooms.
|
UpdateResponseList |
updateRooms(RoomBatchFormList roomForms)
Updates existing rooms.
|
aliasRoom, canCreateRooms, canCreateRoomWithRecordTypes, canDeleteRooms, canManageRoomAliases, canUpdateRooms, createRoom, deleteRoom, getCampus, getCampusId, getRoomFormForCreate, getRoomFormForUpdate, updateRoom
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
RoomBatchFormList getRoomFormsForCreate(IdList floorIds, Type[] roomRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
floorIds
- a list of floor Ids
roomRecordTypes
- array of room record types to be included in
each create operation or an empty list if noneNotFoundException
- a floorId
is not
foundNullArgumentException
- floorIds
or
roomRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createRooms(RoomBatchFormList roomForms) throws OperationFailedException, PermissionDeniedException
Rooms.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.roomForms
- the room formsNullArgumentException
- roomForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. RoomBatchFormList getRoomFormsForUpdate(IdList roomIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
roomIds
- the Ids
of the Room
NotFoundException
- a roomId
is not
foundNullArgumentException
- roomIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateRooms(RoomBatchFormList roomForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.roomForms
- the form containing the elements to be updatedNullArgumentException
- roomForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllRooms() throws OperationFailedException, PermissionDeniedException
Rooms
in this Campus
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteRooms(IdList roomIds) throws OperationFailedException, PermissionDeniedException
Ids.
roomIds
- the Ids
of the rooms to deleteNullArgumentException
- roomIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteRoomsForFloor(Id roomId) throws OperationFailedException, PermissionDeniedException
roomId
- the Id
of a floorNullArgumentException
- floorId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteIneffectiveRoomsByDate(DateTime date) throws OperationFailedException, PermissionDeniedException
date
- a dateNullArgumentException
- date
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasRooms(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Room
for the purpose of
creating compatibility. The primary Id
of the
Room
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is a
pointer to another room, it is reassigned to the given entry
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.