Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java,v diff -u -r1.2 -r1.3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java 31 Jan 2005 23:34:27 -0000 1.2 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java 7 Feb 2005 06:18:52 -0000 1.3 @@ -201,6 +201,31 @@ return ACTIVITY_NOT_ATTEMPTED; } } + + /** + * Sets the progress state for an activity. + * @param activity whose progress is to be set + * @param state one of ACTIVITY_COMPLETED, ACTIVITY_ATTEMPTED or ACTIVITY_NOT_ATTEMPTED. + */ + public void setProgressState(Activity activity, byte state) { + // remove activity from current set + byte oldState = getProgressState(activity); + if (oldState == LearnerProgress.ACTIVITY_NOT_ATTEMPTED); + else if (oldState == LearnerProgress.ACTIVITY_ATTEMPTED) { + this.attemptedActivities.remove(activity); + } + else if (oldState == LearnerProgress.ACTIVITY_COMPLETED) { + this.completedActivities.remove(activity); + } + // add activity to new set + if (state == LearnerProgress.ACTIVITY_NOT_ATTEMPTED); + else if (state == LearnerProgress.ACTIVITY_ATTEMPTED) { + this.attemptedActivities.add(activity); + } + else if (state == LearnerProgress.ACTIVITY_COMPLETED) { + this.completedActivities.add(activity); + } + } /** * Getter for property lessonComplete.