Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java
===================================================================
diff -u -r38a1b0822e267ca7ade5a78244b4b34525dd1b19 -r22371c199a1544417288023ae2cf4fb5fb4d26e7
--- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 38a1b0822e267ca7ade5a78244b4b34525dd1b19)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 22371c199a1544417288023ae2cf4fb5fb4d26e7)
@@ -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.