Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rb484303f0791f74da268d0706057ce4dd4281946 -rb3427e993a239a27615187eb0b89678c5f0e4e87 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision b484303f0791f74da268d0706057ce4dd4281946) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision b3427e993a239a27615187eb0b89678c5f0e4e87) @@ -474,6 +474,12 @@ */ public void startLessonOnSchedule(long lessonId, Date startDate){ + //we get the lesson just created + Lesson requestedLesson = lessonDAO.getLesson(new Long(lessonId)); + if ( requestedLesson == null) { + throw new MonitoringServiceException("Lesson for id="+lessonId+" is missing. Unable to start lesson."); + } + JobDetail startLessonJob = getStartScheduleLessonJob(); //setup the message for scheduling job startLessonJob.setName("startLessonOnSchedule"); @@ -485,7 +491,8 @@ //start the scheduling job try { - setLessonState(lessonId,Lesson.NOT_STARTED_STATE); + requestedLesson.setScheduleStartDate(startDate); + setLessonState(requestedLesson,Lesson.NOT_STARTED_STATE); scheduler.scheduleJob(startLessonJob, startLessonTrigger); } catch (SchedulerException e) @@ -500,12 +507,18 @@ /** - * Start lesson on schedule. + * Finish lesson on schedule. * @param lessonId * @param endDate * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#finishLessonOnSchedule(long , Date) */ public void finishLessonOnSchedule(long lessonId, Date endDate) { + //we get the lesson want to finish + Lesson requestedLesson = lessonDAO.getLesson(new Long(lessonId)); + if ( requestedLesson == null) { + throw new MonitoringServiceException("Lesson for id="+lessonId+" is missing. Unable to start lesson."); + } + JobDetail finishLessonJob = getFinishScheduleLessonJob(); //setup the message for scheduling job finishLessonJob.setName("finishLessonOnSchedule"); @@ -517,6 +530,7 @@ //start the scheduling job try { + requestedLesson.setScheduleEndDate(endDate); scheduler.scheduleJob(finishLessonJob, finishLessonTrigger); } catch (SchedulerException e)