Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml =================================================================== diff -u -r96b3b3ff3f62e1bca1d299f75f512995388e420b -rc2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b) +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision c2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3) @@ -45,15 +45,11 @@ class="org.lamsfoundation.lams.learningdesign.Activity" /> - - - - - - - + + + + + ()); } else if ( canDoActivity(progress.getLesson(), ld.getFirstActivity()) ) { @@ -241,7 +241,7 @@ { Activity nextActivity = transition.getToActivity(); - if ( ! learnerProgress.getCompletedActivities().contains(nextActivity) ) { + if ( ! learnerProgress.getCompletedActivities().containsKey(nextActivity) ) { // normal case - the next activity is still yet to be done learnerProgress.setPreviousActivity(completedActivity); @@ -305,7 +305,7 @@ ComplexActivity complexParent = (ComplexActivity) activityDAO.getActivityByActivityId(parent.getActivityId(),ComplexActivity.class); - if (! learnerProgress.getCompletedActivities().contains(complexParent) && !complexParent.areChildrenCompleted(learnerProgress)) + if (! learnerProgress.getCompletedActivities().containsKey(complexParent) && !complexParent.areChildrenCompleted(learnerProgress)) { Activity nextActivity = complexParent.getNextActivityByParent(completedActivity); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r8699a7e7934798d29851a8397f62838cecac282d -rc2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 8699a7e7934798d29851a8397f62838cecac282d) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision c2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3) @@ -397,7 +397,7 @@ Boolean clearCompletedFlag) { LearnerProgress progress = learnerProgressDAO.getLearnerProgressByLearner(learnerId, lessonId); - if (!progress.getCompletedActivities().contains(activity)) { + if (!progress.getCompletedActivities().containsKey(activity)) { // if we skip a sequence in an optional sequence, or have been force completed for branching / optional // sequence // and we go back to the sequence later, then the LessonComplete flag must be reset so that it will step Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== diff -u -r0008a92961ecc6d41f1722f1b46eddf8f3a3b65d -rc2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision 0008a92961ecc6d41f1722f1b46eddf8f3a3b65d) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision c2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3) @@ -218,7 +218,7 @@ if ( currentActivity == null ) { progress = learnerService.joinLesson(learnerId, lesson.getLessonId()); - } else if ( progress.getCompletedActivities().contains(currentActivity) ) { + } else if ( progress.getCompletedActivities().containsKey(currentActivity) ) { return actionMappings.getCloseForward(currentActivity, lesson.getLessonId()); } else { // Set activity as complete @@ -322,7 +322,7 @@ progressSummary.append("&completed="); first = true; - for ( Object obj : learnerProgress.getCompletedActivities() ) { + for ( Object obj : learnerProgress.getCompletedActivities().keySet() ) { Activity activity = (Activity ) obj; if ( ! first ) { progressSummary.append("_"); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r12450cbea53946ad074ec52d10f5e94ae207e1f9 -rc2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 12450cbea53946ad074ec52d10f5e94ae207e1f9) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision c2d2a9b8036e4bb9f3ff18ce70610c59fc6602d3) @@ -1211,7 +1211,7 @@ } // check if activity is already complete - if (learnerProgress != null && learnerProgress.getCompletedActivities().contains(stopActivity)) { + if (learnerProgress != null && learnerProgress.getCompletedActivities().containsKey(stopActivity)) { return messageService.getMessage(MonitoringService.FORCE_COMPLETE_STOP_MESSAGE_ACTIVITY_DONE, new Object[] { stopActivity.getTitle() }); } @@ -1352,7 +1352,7 @@ // be set. if (stopReason == null) { LearnerProgress learnerProgress = learnerService.getProgress(learner.getUserId(), lessonId); - if (learnerProgress.getCompletedActivities().contains(stopActivity)) { + if (learnerProgress.getCompletedActivities().containsKey(stopActivity)) { // we have reached the stop activity. It may have been the // activity we just processed // or it may have been a parent activity (e.g. an optional