Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rdf36887682088a074e1f3c6f665612c6281b0a39 -r493680e80db51839c864498a72867965a89b56ff Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== diff -u -rb719d13c3d29d3e5535d216ea979f1ded1063efa -r493680e80db51839c864498a72867965a89b56ff --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision b719d13c3d29d3e5535d216ea979f1ded1063efa) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 493680e80db51839c864498a72867965a89b56ff) @@ -435,9 +435,10 @@ this.user.getLastName(), this.user.getFirstName(), this.user.getUserId(), - this.currentActivity.getActivityId(), + this.currentActivity != null ? this.currentActivity.getActivityId() : null, this.createIdArrayFrom(this.attemptedActivities), - this.createIdArrayFrom(this.completedActivities)); + this.createIdArrayFrom(this.completedActivities), + this.lessonComplete); } //--------------------------------------------------------------------- Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressDTO.java =================================================================== diff -u -rb719d13c3d29d3e5535d216ea979f1ded1063efa -r493680e80db51839c864498a72867965a89b56ff --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressDTO.java (.../LearnerProgressDTO.java) (revision b719d13c3d29d3e5535d216ea979f1ded1063efa) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressDTO.java (.../LearnerProgressDTO.java) (revision 493680e80db51839c864498a72867965a89b56ff) @@ -42,6 +42,7 @@ private Long currentActivityId; private Long [] attemptedActivities; private Long [] completedActivities; + private Boolean lessonComplete; /** * Full constructor @@ -54,7 +55,8 @@ Integer learnerId, Long currentActivityId, Long[] attemptedActivities, - Long[] completedActivities) + Long[] completedActivities, + Boolean lessonComplete) { this.lessonId = lessonId; this.lessonName = lessonName; @@ -65,6 +67,7 @@ this.currentActivityId = currentActivityId; this.attemptedActivities = attemptedActivities; this.completedActivities = completedActivities; + this.lessonComplete = lessonComplete; } /** @@ -123,16 +126,12 @@ return firstName; } - public void setFirstName(String firstName) { - this.firstName = firstName; - } - public String getLastName() { return lastName; } - public void setLastName(String lastName) { - this.lastName = lastName; + public Boolean getLessonComplete() { + return lessonComplete; } } Index: lams_documents/lams_monitoring/Monitoring.doc =================================================================== diff -u -r0ec0d87a13f5cd499a8300d7a51a6d453108545e -r493680e80db51839c864498a72867965a89b56ff Binary files differ Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java =================================================================== diff -u -r5aff7aa069793bc34e60b304e69e9e9fceb996f5 -r493680e80db51839c864498a72867965a89b56ff --- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision 5aff7aa069793bc34e60b304e69e9e9fceb996f5) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision 493680e80db51839c864498a72867965a89b56ff) @@ -245,8 +245,10 @@ calculateProgress(learner, parent, learnerProgress); } //lesson is meant to be completed if there is no transition and no parent. - else + else { + learnerProgress.setCurrentActivity(null); learnerProgress.setLessonComplete(true); + } return learnerProgress; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java =================================================================== diff -u -r8cbcfc33f24bb5e0359d189ab44c75a4b019458c -r493680e80db51839c864498a72867965a89b56ff --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 8cbcfc33f24bb5e0359d189ab44c75a4b019458c) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 493680e80db51839c864498a72867965a89b56ff) @@ -133,7 +133,7 @@ else { - if (! progress.getCurrentActivity().isParallelActivity() && progress.isParallelWaiting()) + if (progress.getCurrentActivity()!=null && ! progress.getCurrentActivity().isParallelActivity() && progress.isParallelWaiting()) { // progress is waiting, goto waiting page String strutsAction = this.getActivityMappingStrategy() Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r3759176e4928af126deabc42170f264c08ed91ef -r493680e80db51839c864498a72867965a89b56ff --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 3759176e4928af126deabc42170f264c08ed91ef) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 493680e80db51839c864498a72867965a89b56ff) @@ -802,7 +802,10 @@ } Activity currentActivity = learnerProgress.getCurrentActivity(); - String stopReason = forceCompleteActivity(learner, lessonId, learnerProgress, currentActivity, stopActivity, new ArrayList()); + String stopReason = null; + if (currentActivity != null ) { + stopReason = forceCompleteActivity(learner, lessonId, learnerProgress, currentActivity, stopActivity, new ArrayList()); + } return stopReason != null ? stopReason : messageService.getMessage(FORCE_COMPLETE_STOP_MESSAGE_STOPPED_UNEXPECTEDLY);