OSID Logo
OSID Specifications
room construction package
Version 3.0.0
Interfaceosid.room.construction.ProjectCampusAssignmentSession
Implementsosid.OsidSession
Used Byosid.room.construction.RoomConstructionManager
osid.room.construction.RoomConstructionProxyManager
Description

This session provides methods to re-assign Projects to Campuses . A Project may map to multiple Campuses and removing the last reference to a Project is the equivalent of deleting it. Each Campus may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Project to another Campus is not a copy operation (eg: does not change its Id ).

MethodcanAssignProjects
Description

Tests if this user can alter project/campus 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 a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnbooleanfalse if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignProjectsToCampus
Description

Tests if this user can alter project/campus 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 a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdcampusIdthe Id of the Campus
Returnbooleanfalse if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENTcampusId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCampusIds
Description

Gets a list of campuses including and under the given campus node in which any project can be assigned.

Parametersosid.id.IdcampusIdthe Id of the Campus
Returnosid.id.IdListlist of assignable campus Ids
ErrorsNULL_ARGUMENTcampusId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCampusIdsForProject
Description

Gets a list of campuses including and under the given campus node in which a specific project can be assigned.

Parametersosid.id.IdcampusIdthe Id of the Campus
osid.id.IdprojectIdthe Id of the Project
Returnosid.id.IdListlist of assignable campus Ids
ErrorsNULL_ARGUMENTcampusId or projectId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignProjectToCampus
Description

Adds an existing Project to a Campus .

Parametersosid.id.IdprojectIdthe Id of the Project
osid.id.IdcampusIdthe Id of the Campus
ErrorsALREADY_EXISTSprojectId is already assigned to campusId
NOT_FOUNDprojectId or campusId not found
NULL_ARGUMENTprojectId or campusId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignProjectFromCampus
Description

Removes a Project from a Campus .

Parametersosid.id.IdprojectIdthe Id of the Project
osid.id.IdcampusIdthe Id of the Campus
ErrorsNOT_FOUNDprojectId or campusId not found or projectId not assigned to campusId
NULL_ARGUMENTprojectId or campusId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignProjectToCampus
Description

Moves a Project from one Campus to another. Mappings to other Campuses are unaffected.

Parametersosid.id.IdprojectIdthe Id of the Project
osid.id.IdfromCampusIdthe Id of the current Campus
osid.id.IdtoCampusIdthe Id of the destination Campus
ErrorsALREADY_EXISTSprojectId already assigned to toCampusId
NOT_FOUNDprojectId, fromCampusId , or toCampusId not found or projectId not mapped to fromCampusId
NULL_ARGUMENTprojectId, fromCampusId , or toCampusId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.