Interface ControllerSystemAssignmentSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods to re-assign Controller to
System mappings. A Controller may appear in multiple
Systems and removing the last reference to a Controller is
the equivalent of deleting it. Each System may have its own
authorizations governing who is allowed to operate on it.
Adding a reference of a Controller to another System
is not a copy operation (eg: does not change its Id).
Like all OsidSessions,
ControllerSystemAssignmentSessions are dedicated to single processing
threads and a single authenticated user.
-
Method Summary
Modifier and TypeMethodDescriptionvoidassignControllerToSystem(Id controllerId, Id systemId) Adds an existingControllerto aSystem.booleanTests if this user can alter controller/system mappings.booleancanAssignControllersToSystem(Id systemId) Tests if this user can alter controller/system mappings.getAssignableSystemIds(Id systemId) Gets a list of systems including and under the given system node in which any controller can be assigned.getAssignableSystemIdsForController(Id systemId, Id controllerId) Gets a list of systems including and under the given system node in which a specific controller can be assigned.voidreassignControllerToSystem(Id controllerId, Id fromSystemId, Id toSystemId) Moves aControllerfrom oneSystemto another.voidunassignControllerFromSystem(Id controllerId, Id systemId) Removes aControllerfrom aSystem.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatTypes, getLocales, isAuthenticated, startTransaction, supportsTransactions
-
Method Details
-
canAssignControllers
boolean canAssignControllers()Tests if this user can alter controller/system mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Returns:
falseif mapping is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canAssignControllersToSystem
Tests if this user can alter controller/system mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Parameters:
systemId- theIdof theSystem- Returns:
falseif mapping is not authorized,trueotherwise- Throws:
NullArgumentException-systemIdisnull- Compliance:
mandatory- This method must be implemented.
-
getAssignableSystemIds
Gets a list of systems including and under the given system node in which any controller can be assigned.- Parameters:
systemId- theIdof theSystem- Returns:
- list of assignable system
Ids - Throws:
NullArgumentException-systemIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
getAssignableSystemIdsForController
IdList getAssignableSystemIdsForController(Id systemId, Id controllerId) throws OperationFailedException Gets a list of systems including and under the given system node in which a specific controller can be assigned.- Parameters:
systemId- theIdof theSystemcontrollerId- theIdof theController- Returns:
- list of assignable system
Ids - Throws:
NullArgumentException-systemIdorcontrollerIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
assignControllerToSystem
void assignControllerToSystem(Id controllerId, Id systemId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds an existingControllerto aSystem.- Parameters:
controllerId- theIdof theControllersystemId- theIdof theSystem- Throws:
AlreadyExistsException-controllerIdis already assigned tosystemIdNotFoundException-controllerIdorsystemIdnot foundNullArgumentException-controllerIdorsystemIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
unassignControllerFromSystem
void unassignControllerFromSystem(Id controllerId, Id systemId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes aControllerfrom aSystem.- Parameters:
controllerId- theIdof theControllersystemId- theIdof theSystem- Throws:
NotFoundException-controllerIdorsystemIdnot found orcontrollerIdnot assigned tosystemIdNullArgumentException-controllerIdorsystemIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
reassignControllerToSystem
void reassignControllerToSystem(Id controllerId, Id fromSystemId, Id toSystemId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Moves aControllerfrom oneSystemto another. Mappings to otherSystemsare unaffected.- Parameters:
controllerId- theIdof theControllerfromSystemId- theIdof the currentSystemtoSystemId- theIdof the destinationSystem- Throws:
AlreadyExistsException-controllerIdalready assigned totoSystemIdNotFoundException-controllerId, fromSystemId, ortoSystemIdnot found orcontrollerIdnot mapped tofromSystemIdNullArgumentException-controllerId, fromSystemId, ortoSystemIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-