OSID Logo
OSID Specifications
room construction package
Version 3.1.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.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This 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.IdcampusId the Id of the Campus
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT campusId is null
Compliancemandatory This 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.IdcampusId the Id of the Campus
Returnosid.id.IdList list of assignable campus Ids
ErrorsNULL_ARGUMENT campusId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This 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.IdcampusId the Id of the Campus
osid.id.IdprojectId the Id of the Project
Returnosid.id.IdList list of assignable campus Ids
ErrorsNULL_ARGUMENT campusId or projectId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignProjectToCampus
Description

Adds an existing Project to a Campus.

Parametersosid.id.IdprojectId the Id of the Project
osid.id.IdcampusId the Id of the Campus
ErrorsALREADY_EXISTS projectId is already assigned to campusId
NOT_FOUND projectId or campusId not found
NULL_ARGUMENT projectId or campusId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignProjectFromCampus
Description

Removes a Project from a Campus.

Parametersosid.id.IdprojectId the Id of the Project
osid.id.IdcampusId the Id of the Campus
ErrorsNOT_FOUND projectId or campusId not found or projectId not assigned to campusId
NULL_ARGUMENT projectId or campusId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignProjectToCampus
Description

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

Parametersosid.id.IdprojectId the Id of the Project
osid.id.IdfromCampusId the Id of the current Campus
osid.id.IdtoCampusId the Id of the destination Campus
ErrorsALREADY_EXISTS projectId already assigned to toCampusId
NOT_FOUND projectId, fromCampusId, or toCampusId not found or projectId not mapped to fromCampusId
NULL_ARGUMENT projectId, fromCampusId, or toCampusId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.