edu.clemson.bb.ws
Class ClemBBAPI

java.lang.Object
  extended byedu.clemson.bb.ws.ClemBBAPI

public class ClemBBAPI
extends java.lang.Object

Author:
Billy Cook TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates

Nested Class Summary
static class ClemBBAPI.ErrorCodes
          Possible return codes returned by the APIResponse object
 
Constructor Summary
ClemBBAPI()
           
 
Method Summary
protected  APIResponse __changeCourseRole(java.lang.String userID, java.lang.String courseID, java.lang.String role)
          Change a user's role in a course
protected  void __changeOrganizationRole(java.lang.String userID, java.lang.String organizationID, java.lang.String role)
          Change a user's role in an organization
protected  Course __getCourseByBatchUID(java.lang.String batchUID)
          Translate a course batchUID into a course object
protected  Course __getCourseByID(Id courseId)
          Get a Course object from a course ID
protected  CourseSite __getCourseSiteByBatchUID(java.lang.String batchUID)
          Translate a course batchUID into a CourseSite
protected  java.util.HashMap __getEnabledUsersInCourse(java.lang.String courseID)
          Get a HashMap of users in a course where the keys are userids and the values are roles and the users enrollment is not disabled
protected  java.lang.String __getHostname()
           
protected  java.util.HashMap __getMembersInOrganization(java.lang.String courseID)
          Get users in an orgainzation
protected  Organization __getOrganizationByBatchUID(java.lang.String batchUID)
          Get an organization object
protected  Person __getPersonByUserID(java.lang.String userID)
          Get a person object from a User ID
protected  java.util.HashMap __getUserAttrs(User user)
          Get a HashMap containing a user's information
protected  User __getUserByID(Id UID)
          Get a user object by User ID
protected  User __getUserByUserID(java.lang.String UserID)
          Get a user object from a User ID
protected  java.util.HashMap __getUsersInCourse(java.lang.String courseID)
          Get a HashMap of users in a course where the keys are userids and the values are roles
 APIResponse addCourse(java.lang.String courseID, java.lang.String batchUID, java.lang.String courseName, java.lang.String dataSource, java.lang.String key)
          Add a course in Blackboard
 APIResponse addEnrollment(java.lang.String courseID, java.lang.String userID, java.lang.String role, java.lang.String key)
          Add a user to a course
 APIResponse addEnrollment(java.lang.String courseID, java.lang.String userID, java.lang.String role, java.lang.String key, java.lang.String datasource)
          Add a user to a course
 APIResponse addEnrollments(java.lang.String courseID, java.lang.String[] users, java.lang.String role, java.lang.String key)
           
 APIResponse addEnrollments(java.lang.String courseID, java.lang.String[] users, java.lang.String role, java.lang.String key, java.lang.String enrollmentDatasource)
          Add enrollments to a course
 APIResponse addorEnableEnrollment(java.lang.String courseID, java.lang.String userID, java.lang.String role, java.lang.String key)
           
 APIResponse addorEnableEnrollment(java.lang.String courseID, java.lang.String userID, java.lang.String role, java.lang.String key, java.lang.String enrollmentDatasource)
          Add a user to a course.
 APIResponse addOrganization(java.lang.String instructor, java.lang.String courseID, java.lang.String courseName, java.lang.String key)
           
 APIResponse addOrganization(java.lang.String instructor, java.lang.String courseID, java.lang.String courseName, java.lang.String key, java.lang.String orgDatasource, java.lang.String orgMembershipDatasource)
          Add an organization in Blackboard
 APIResponse addorUpdateUser(java.lang.String fname, java.lang.String lname, java.lang.String uname, java.lang.String pwd, java.lang.String batchid, java.lang.String email, java.lang.String studentid, java.lang.String datasource, java.lang.String key)
          Add a user to Blackboard or if they exist update their information.
 APIResponse addPortalRole(java.lang.String roleName, java.lang.String roleId, java.lang.String key)
          Add a portal role to Blackboard
 APIResponse addSecondaryPortalRoleToUser(java.lang.String userid, java.lang.String roleName, java.lang.String key)
          Assign an additional secondary portal role to a user
 APIResponse addUser(java.lang.String fname, java.lang.String lname, java.lang.String uname, java.lang.String pwd, java.lang.String batchid, java.lang.String email, java.lang.String studentid, java.lang.String key)
           
 APIResponse addUser(java.lang.String fname, java.lang.String lname, java.lang.String uname, java.lang.String pwd, java.lang.String batchid, java.lang.String email, java.lang.String studentid, java.lang.String datasource, java.lang.String key)
           
 APIResponse changeCourseRole(java.lang.String userID, java.lang.String courseID, java.lang.String role, java.lang.String key)
          Change a user's role in a course
 boolean checkKey(java.lang.String salt, java.lang.String key)
          Checks key passed into methods
 APIResponse deleteCourse(java.lang.String batchUID, java.lang.String key)
          Delete a course from Blackboard
 APIResponse deleteUser(java.lang.String batchid, java.lang.String key)
          Delete user from Blackboard
 APIResponse doesUserExist(java.lang.String uname, java.lang.String key)
          Determine if a user exists in Blackboard
protected  ContextManager getContextManager()
          Initialize the Blackboard context
 APIResponse getCourseRole(java.lang.String course_id, java.lang.String userId, java.lang.String key)
          Determine a users role in a course
 APIResponse getCoursesForUser(java.lang.String userid, java.lang.String key)
          Get a list of courses a user is enrolled in
 APIResponse getCoursesForUserByRole(java.lang.String userid, java.lang.String role, java.lang.String key)
          Get a list of courses a user is enrolled in as a particular role
 APIResponse getCourseType(java.lang.String batchUID, java.lang.String key)
          Determine if the course is a "Course" or "Organization"
 java.lang.String getKey()
           
 APIResponse getNumberLoggedInUsers(java.lang.String salt, java.lang.String key)
          Get the number of users logged into Blackboard on this server
protected  java.lang.String getPluginProperty(java.lang.String prop)
          Used to retrieve values from the plugin's property settings from the GUI
 APIResponse getSecondaryPortalRolesForUser(java.lang.String userid, java.lang.String key)
          Get a list of a user's secondary portal roles in Blackboard
 APIResponse getUserAttrs(java.lang.String userid, java.lang.String key)
          Get a user's GivenName, FamilyName, and email address
 APIResponse getUsersInCourse(java.lang.String courseID, java.lang.String key)
          Get a list of users in a course and their roles in the course
 APIResponse getUsersInCourseByRole(java.lang.String courseID, java.lang.String role, java.lang.String key)
          Get a list of users in a course with a particular role
 APIResponse getUsersInCourseWithUserInfo(java.lang.String courseID, java.lang.String role, java.lang.String key)
          Get the users in the course with the users' attributes included
 boolean hardDrops()
           
 void InitBBForCLI()
          Only needed if testing out the api from the command line
 APIResponse Isa(java.lang.String userID, java.lang.String courseID, java.lang.String role, java.lang.String key)
          Determine if a user has a particular role in a course
 APIResponse modUser(java.lang.String fname, java.lang.String lname, java.lang.String uname, java.lang.String pwd, java.lang.String batchid, java.lang.String email, java.lang.String studentid, java.lang.String datasource, java.lang.String key)
          Modify a user's information in Blackboard
 APIResponse removeEnrollment(java.lang.String courseID, java.lang.String userID, java.lang.String key)
          Remove a user from a course
 APIResponse setEnrollmentAvailability(java.lang.String courseID, java.lang.String userID, boolean available, java.lang.String key)
          Enable or Disable a user's enrollment in a course
 APIResponse setPrimaryPortalRole(java.lang.String userid, java.lang.String roleId, java.lang.String key)
          Set a user's primary portal role in Blackboard
 APIResponse setUserAvailability(java.lang.String userid, boolean available, java.lang.String key)
          Enable or Disable a user in Blackboard
 void ShutdownCLI()
          Only needed if testing out the api from the command line
 APIResponse synchronizeEnrollments(java.lang.String courseID, java.util.HashMap classRoll, java.lang.String key)
           
 APIResponse synchronizeEnrollments(java.lang.String courseID, java.util.HashMap classRoll, java.lang.String key, java.lang.String enrollmentDatasource)
          Synchronize enrollments in a course.
 APIResponse synchronizeMemberships(java.lang.String organizationID, java.util.HashMap members, java.lang.String key)
           
 APIResponse synchronizeMemberships(java.lang.String organizationID, java.util.HashMap members, java.lang.String key, java.lang.String orgMembershipDatasource)
          Synchronize memberships for an organization
 APIResponse synchronizeSecondaryPortalRolesForUser(java.lang.String userid, java.lang.String[] roleIds, java.lang.String key)
          Synchronize a user's secondary portal roles with the list of supplied roles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClemBBAPI

public ClemBBAPI()
Method Detail

addUser

public APIResponse addUser(java.lang.String fname,
                           java.lang.String lname,
                           java.lang.String uname,
                           java.lang.String pwd,
                           java.lang.String batchid,
                           java.lang.String email,
                           java.lang.String studentid,
                           java.lang.String key)

addUser

public APIResponse addUser(java.lang.String fname,
                           java.lang.String lname,
                           java.lang.String uname,
                           java.lang.String pwd,
                           java.lang.String batchid,
                           java.lang.String email,
                           java.lang.String studentid,
                           java.lang.String datasource,
                           java.lang.String key)
Parameters:
fname - First Name
lname - Last Name
uname - UserID
pwd - Password
batchid - Batch UID
email - Eman Address
key - md5(fname + privKey)
Returns:
APIResponse with boolean as result

doesUserExist

public APIResponse doesUserExist(java.lang.String uname,
                                 java.lang.String key)
Determine if a user exists in Blackboard

Parameters:
uname -
key - - md5(uname + privKey)
Returns:
APIResponse with boolean as value

addorUpdateUser

public APIResponse addorUpdateUser(java.lang.String fname,
                                   java.lang.String lname,
                                   java.lang.String uname,
                                   java.lang.String pwd,
                                   java.lang.String batchid,
                                   java.lang.String email,
                                   java.lang.String studentid,
                                   java.lang.String datasource,
                                   java.lang.String key)
Add a user to Blackboard or if they exist update their information.

Parameters:
fname - First Name
lname - Last Name
uname - UserID
pwd - Password
batchid - Batch UID
email - Eman Address
key - md5(fname + privKey)
Returns:
APIResponse with boolean as result

modUser

public APIResponse modUser(java.lang.String fname,
                           java.lang.String lname,
                           java.lang.String uname,
                           java.lang.String pwd,
                           java.lang.String batchid,
                           java.lang.String email,
                           java.lang.String studentid,
                           java.lang.String datasource,
                           java.lang.String key)
Modify a user's information in Blackboard

Parameters:
fname - First Name
lname - Last Name
uname - UserID
pwd - Password
batchid - Batch UID
email - Eman Address
key - md5(fname + privKey)
Returns:
APIResponse with boolean as result

addCourse

public APIResponse addCourse(java.lang.String courseID,
                             java.lang.String batchUID,
                             java.lang.String courseName,
                             java.lang.String dataSource,
                             java.lang.String key)
Add a course in Blackboard

Parameters:
courseID - Course ID
batchUID - Course batch_uid
courseName - Course Name
dataSource - Datasource
key - = md5(courseID + privKey)
Returns:
APIResponse with boolean as the result

addOrganization

public APIResponse addOrganization(java.lang.String instructor,
                                   java.lang.String courseID,
                                   java.lang.String courseName,
                                   java.lang.String key)
Returns:
See Also:
addOrganization(String instructor, String courseID, String courseName, String key, String orgDatasource, String orgMembershipDatasource)

addOrganization

public APIResponse addOrganization(java.lang.String instructor,
                                   java.lang.String courseID,
                                   java.lang.String courseName,
                                   java.lang.String key,
                                   java.lang.String orgDatasource,
                                   java.lang.String orgMembershipDatasource)
Add an organization in Blackboard

Parameters:
instructor -
courseID -
courseName -
key - - md5(courseID + privKey)
orgDatasource - datasource for organization creation
orgMembershipDatasource - datasource for organization memberships
Returns:
APIResponse with boolean as the value

synchronizeMemberships

public APIResponse synchronizeMemberships(java.lang.String organizationID,
                                          java.util.HashMap members,
                                          java.lang.String key)
See Also:
synchronizeMemberships(String organizationID, HashMap members, String key, String orgMembershipDatasource)

synchronizeMemberships

public APIResponse synchronizeMemberships(java.lang.String organizationID,
                                          java.util.HashMap members,
                                          java.lang.String key,
                                          java.lang.String orgMembershipDatasource)
Synchronize memberships for an organization

Parameters:
organizationID -
members - HashMap where keys are userids and values are thier role in the organization
key - md5(organizationId, key)
orgMembershipDatasource - datasource for organization memberships
Returns:
APIResponse with array of strings containing errors as result.

addEnrollment

public APIResponse addEnrollment(java.lang.String courseID,
                                 java.lang.String userID,
                                 java.lang.String role,
                                 java.lang.String key)
Add a user to a course

Parameters:
courseID - batch_uid of course
userID - batch_uid of user (UserID)
role - see blackboard CourseMembership.Role Enum for options
key - = md5(courseID + privKey)
Returns:
APIResponse with boolean as the result

addEnrollment

public APIResponse addEnrollment(java.lang.String courseID,
                                 java.lang.String userID,
                                 java.lang.String role,
                                 java.lang.String key,
                                 java.lang.String datasource)
Add a user to a course

Parameters:
courseID - batch_uid of course
userID - batch_uid of user (UserID)
role - see blackboard CourseMembership.Role Enum for options
key - = md5(courseID + privKey)
Returns:
APIResponse with boolean as the result

addorEnableEnrollment

public APIResponse addorEnableEnrollment(java.lang.String courseID,
                                         java.lang.String userID,
                                         java.lang.String role,
                                         java.lang.String key)
See Also:
addorEnableEnrollment(String courseID, String userID, String role, String key, String enrollmentDatasource)

addorEnableEnrollment

public APIResponse addorEnableEnrollment(java.lang.String courseID,
                                         java.lang.String userID,
                                         java.lang.String role,
                                         java.lang.String key,
                                         java.lang.String enrollmentDatasource)
Add a user to a course. If the user is already added to the course then enable their enrollment if it has been disabled

Parameters:
courseID - batch_uid of course
userID - batch_uid of user (UserID)
role - see blackboard CourseMembership.Role Enum for options
key - = md5(courseID + privKey)
enrollmentDatasource - datasource for course/org enrollments
Returns:
APIResponse with boolean as the result

synchronizeEnrollments

public APIResponse synchronizeEnrollments(java.lang.String courseID,
                                          java.util.HashMap classRoll,
                                          java.lang.String key)
See Also:
synchronizeEnrollments(String courseID, HashMap classRoll, String key, String enrollmentDatasource)

synchronizeEnrollments

public APIResponse synchronizeEnrollments(java.lang.String courseID,
                                          java.util.HashMap classRoll,
                                          java.lang.String key,
                                          java.lang.String enrollmentDatasource)
Synchronize enrollments in a course.

Parameters:
courseID -
classRoll - - HashMap of with userids as keys and user roles as values
key - - md5(courseID + privKey)
enrollmentDatasource - datasource for course/org enrollments
Returns:
APIResponse with array of strings containing errors as result

addEnrollments

public APIResponse addEnrollments(java.lang.String courseID,
                                  java.lang.String[] users,
                                  java.lang.String role,
                                  java.lang.String key)
See Also:
addEnrollments(String courseID, String[] users, String role, String key, String enrollmentDatasource )

addEnrollments

public APIResponse addEnrollments(java.lang.String courseID,
                                  java.lang.String[] users,
                                  java.lang.String role,
                                  java.lang.String key,
                                  java.lang.String enrollmentDatasource)
Add enrollments to a course

Parameters:
courseID -
users -
role -
key - - md5(courseID + privKey)
Returns:
APIResponse with array of strings containing errors as result

deleteUser

public APIResponse deleteUser(java.lang.String batchid,
                              java.lang.String key)
Delete user from Blackboard

Parameters:
batchid - UserID
key - md5(batchid + privKey)
Returns:
APIResponse with boolean as result

deleteCourse

public APIResponse deleteCourse(java.lang.String batchUID,
                                java.lang.String key)
Delete a course from Blackboard

Parameters:
batchUID - batch_uid of course
key - = md5(batchUID + privKey)
Returns:
APIResponse with boolean as the result

removeEnrollment

public APIResponse removeEnrollment(java.lang.String courseID,
                                    java.lang.String userID,
                                    java.lang.String key)
Remove a user from a course

Parameters:
courseID - batch_uid of course
userID - batch_uid of user (userID)
key - = md5(courseID + privKey)
Returns:
APIResponse with boolean as result

setEnrollmentAvailability

public APIResponse setEnrollmentAvailability(java.lang.String courseID,
                                             java.lang.String userID,
                                             boolean available,
                                             java.lang.String key)
Enable or Disable a user's enrollment in a course

Parameters:
courseID -
userID -
available -
key - - md5(courseID + privKey)
Returns:
APIResponse with boolean as result

Isa

public APIResponse Isa(java.lang.String userID,
                       java.lang.String courseID,
                       java.lang.String role,
                       java.lang.String key)
Determine if a user has a particular role in a course

Parameters:
userID - user's batch_uid (userID)
courseID - batch_uid for course
role - see blackboard CourseMembership.Role Enum for options
key - = md5(userID + privKey)
Returns:
APIResponse with boolean as result

getUserAttrs

public APIResponse getUserAttrs(java.lang.String userid,
                                java.lang.String key)
Get a user's GivenName, FamilyName, and email address

Parameters:
userid - batch_uid of user (userID)
key - = md5(userid + privKey)
Returns:
APIResponse with HashMap as result

getSecondaryPortalRolesForUser

public APIResponse getSecondaryPortalRolesForUser(java.lang.String userid,
                                                  java.lang.String key)
Get a list of a user's secondary portal roles in Blackboard

Parameters:
userid -
key - - md5(userid + privKey)
Returns:
value in APIResponse is an array of strings

addPortalRole

public APIResponse addPortalRole(java.lang.String roleName,
                                 java.lang.String roleId,
                                 java.lang.String key)
Add a portal role to Blackboard

Parameters:
roleName -
roleId -
key - - md5(roleName + privKey)
Returns:
APIResponse with boolean as result

setPrimaryPortalRole

public APIResponse setPrimaryPortalRole(java.lang.String userid,
                                        java.lang.String roleId,
                                        java.lang.String key)
Set a user's primary portal role in Blackboard

Parameters:
userid -
roleId -
key - - md5(userid + privKey)
Returns:
APIResponse with boolean as result

synchronizeSecondaryPortalRolesForUser

public APIResponse synchronizeSecondaryPortalRolesForUser(java.lang.String userid,
                                                          java.lang.String[] roleIds,
                                                          java.lang.String key)
Synchronize a user's secondary portal roles with the list of supplied roles

Parameters:
userid -
roleIds - array of roles
key - - md5(userid + privKey)
Returns:
APIResponse with boolean as result

addSecondaryPortalRoleToUser

public APIResponse addSecondaryPortalRoleToUser(java.lang.String userid,
                                                java.lang.String roleName,
                                                java.lang.String key)
Assign an additional secondary portal role to a user

Parameters:
userid -
roleName -
key - - md5(userid + privKey)
Returns:
APIResponse with boolean as result

setUserAvailability

public APIResponse setUserAvailability(java.lang.String userid,
                                       boolean available,
                                       java.lang.String key)
Enable or Disable a user in Blackboard

Parameters:
userid -
available -
key - - md5(userid + privKey)
Returns:
APIResponse with boolean as result

getCourseType

public APIResponse getCourseType(java.lang.String batchUID,
                                 java.lang.String key)
Determine if the course is a "Course" or "Organization"

Parameters:
batchUID - batch_uid of course
key - = md5(batchUID + privKey)
Returns:
APIResponse with ORGANIZATION or COURSE as the result

getCourseRole

public APIResponse getCourseRole(java.lang.String course_id,
                                 java.lang.String userId,
                                 java.lang.String key)
Determine a users role in a course

Parameters:
course_id - batch_uid of course
userId - batch_uid of user (userID)
key - = md5(userId + privKey)
Returns:
APIResponse with value of bb CourseMembership.Role Enum

changeCourseRole

public APIResponse changeCourseRole(java.lang.String userID,
                                    java.lang.String courseID,
                                    java.lang.String role,
                                    java.lang.String key)
Change a user's role in a course

Parameters:
userID - batch_uid of user (userID)
courseID - batch_uid of course
key - = md5(userID + privKey)
role - = roletype as defined in the BB CourseMembership.Role enum
Returns:
APIResponse with boolean as the result (nonzero is success)

getCoursesForUser

public APIResponse getCoursesForUser(java.lang.String userid,
                                     java.lang.String key)
Get a list of courses a user is enrolled in

Parameters:
userid - batch_uid of user (userID)
key - = md5(userid + privKey)
Returns:
APIResponse with HashMap as result containing courseID=>Role as each record in the map

getCoursesForUserByRole

public APIResponse getCoursesForUserByRole(java.lang.String userid,
                                           java.lang.String role,
                                           java.lang.String key)
Get a list of courses a user is enrolled in as a particular role

Parameters:
userid - batch_uid of user (userID)
key - = md5(userid + privKey)
Returns:
APIResponse with ArrayList as result

getUsersInCourse

public APIResponse getUsersInCourse(java.lang.String courseID,
                                    java.lang.String key)
Get a list of users in a course and their roles in the course

Parameters:
courseID - batch_uid of course
key - = md5(courseID + privKey)
Returns:
APIResponse with HashMap as result. The HashMap contains Users and their roles in the course

__getUsersInCourse

protected java.util.HashMap __getUsersInCourse(java.lang.String courseID)
                                        throws KeyNotFoundException,
                                               PersistenceException
Get a HashMap of users in a course where the keys are userids and the values are roles

Parameters:
courseID -
Returns:
HashMap where the keys are userids and the values are roles
Throws:
KeyNotFoundException
PersistenceException

__getEnabledUsersInCourse

protected java.util.HashMap __getEnabledUsersInCourse(java.lang.String courseID)
                                               throws KeyNotFoundException,
                                                      PersistenceException
Get a HashMap of users in a course where the keys are userids and the values are roles and the users enrollment is not disabled

Parameters:
courseID -
Returns:
HashMap where the keys are userids and the values are roles
Throws:
KeyNotFoundException
PersistenceException

getUsersInCourseByRole

public APIResponse getUsersInCourseByRole(java.lang.String courseID,
                                          java.lang.String role,
                                          java.lang.String key)
Get a list of users in a course with a particular role

Parameters:
courseID - batch_uid of course
key - = md5(courseID + privKey)
role - = roletype as defined in the BB CourseMembership.Role enum
Returns:
APIResponse with ArrayList or userids as result.

getUsersInCourseWithUserInfo

public APIResponse getUsersInCourseWithUserInfo(java.lang.String courseID,
                                                java.lang.String role,
                                                java.lang.String key)
Get the users in the course with the users' attributes included

Parameters:
courseID - batch_uid of course
role - type of users to return. Types defined in bb CourseMembership.Role enum
key - = md5(courseID + privKey)
Returns:
APIResponse with HashMap as result. The HashMap contains Users and their roles in the course

__changeCourseRole

protected APIResponse __changeCourseRole(java.lang.String userID,
                                         java.lang.String courseID,
                                         java.lang.String role)
Change a user's role in a course

Parameters:
userID -
courseID -
role -
Returns:
APIResponse with boolean as result

__getCourseByBatchUID

protected Course __getCourseByBatchUID(java.lang.String batchUID)
                                throws PersistenceException,
                                       KeyNotFoundException
Translate a course batchUID into a course object

Parameters:
batchUID -
Returns:
Course object
Throws:
PersistenceException
KeyNotFoundException

__getCourseSiteByBatchUID

protected CourseSite __getCourseSiteByBatchUID(java.lang.String batchUID)
                                        throws PersistenceException,
                                               KeyNotFoundException
Translate a course batchUID into a CourseSite

Parameters:
batchUID -
Returns:
CourseSite object
Throws:
PersistenceException
KeyNotFoundException

__getCourseByID

protected Course __getCourseByID(Id courseId)
                          throws PersistenceException,
                                 KeyNotFoundException
Get a Course object from a course ID

Parameters:
courseId -
Returns:
Course object
Throws:
PersistenceException
KeyNotFoundException

__getUserByUserID

protected User __getUserByUserID(java.lang.String UserID)
                          throws PersistenceException,
                                 KeyNotFoundException
Get a user object from a User ID

Parameters:
UserID -
Returns:
User object
Throws:
PersistenceException
KeyNotFoundException

__getPersonByUserID

protected Person __getPersonByUserID(java.lang.String userID)
                              throws PersistenceException,
                                     KeyNotFoundException
Get a person object from a User ID

Parameters:
userID -
Returns:
Person object
Throws:
PersistenceException
KeyNotFoundException

__getUserByID

protected User __getUserByID(Id UID)
                      throws PersistenceException,
                             KeyNotFoundException
Get a user object by User ID

Parameters:
UID -
Returns:
User object
Throws:
PersistenceException
KeyNotFoundException

__getHostname

protected java.lang.String __getHostname()
Returns:
Hostname

__getUserAttrs

protected java.util.HashMap __getUserAttrs(User user)
Get a HashMap containing a user's information

Parameters:
user -
Returns:
HashMap containing user information

__changeOrganizationRole

protected void __changeOrganizationRole(java.lang.String userID,
                                        java.lang.String organizationID,
                                        java.lang.String role)
                                 throws java.lang.Exception
Change a user's role in an organization

Parameters:
userID -
organizationID -
role -
Throws:
java.lang.Exception

__getMembersInOrganization

protected java.util.HashMap __getMembersInOrganization(java.lang.String courseID)
                                                throws PersistenceException
Get users in an orgainzation

Parameters:
courseID -
Returns:
HashMap with userids as keys and roles as values
Throws:
PersistenceException

__getOrganizationByBatchUID

protected Organization __getOrganizationByBatchUID(java.lang.String batchUID)
                                            throws PersistenceException
Get an organization object

Parameters:
batchUID -
Returns:
Organization object
Throws:
PersistenceException

getContextManager

protected ContextManager getContextManager()
                                    throws InitializationException,
                                           BbServiceException
Initialize the Blackboard context

Returns:
BbPersistenceManager
Throws:
InitializationException
BbServiceException

getPluginProperty

protected java.lang.String getPluginProperty(java.lang.String prop)
Used to retrieve values from the plugin's property settings from the GUI

Parameters:
prop -
Returns:
the value of the property

InitBBForCLI

public void InitBBForCLI()
Only needed if testing out the api from the command line


ShutdownCLI

public void ShutdownCLI()
Only needed if testing out the api from the command line


getKey

public java.lang.String getKey()
Returns:
The private key

hardDrops

public boolean hardDrops()

checkKey

public boolean checkKey(java.lang.String salt,
                        java.lang.String key)
Checks key passed into methods

Parameters:
salt -
key -
Returns:
boolean

getNumberLoggedInUsers

public APIResponse getNumberLoggedInUsers(java.lang.String salt,
                                          java.lang.String key)
Get the number of users logged into Blackboard on this server

Parameters:
salt - Any string will do
key - md5(salt + privKey)
Returns: