Index: lams_monitoring/lib/lams/lams.jar =================================================================== diff -u -rb395aaed7e903bdc2d4fbcc45a3191615e16f8d6 -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a Binary files differ Index: lams_monitoring/lib/lams/lams_learning.jar =================================================================== diff -u -rb395aaed7e903bdc2d4fbcc45a3191615e16f8d6 -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a Binary files differ Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rd69bdbfcb5ca7fd3e10605130abc321de6d4619a -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision d69bdbfcb5ca7fd3e10605130abc321de6d4619a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 83751ccbd9c0d7db4e1c2f3e027646c41de5c29a) @@ -21,6 +21,7 @@ package org.lamsfoundation.lams.monitoring.service; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -273,6 +274,7 @@ log.debug("=============Starting Lesson "+lessonId+"=============="); //we get the lesson just created Lesson requestedLesson = lessonDAO.getLesson(new Long(lessonId)); + Date lessonStartTime = new Date(); //initialize tool sessions if necessary for (Iterator i = requestedLesson.getLearningDesign() .getActivities() @@ -287,11 +289,11 @@ requestedLesson); //if it is schedule gate, we need to initialize the sheduler for it. if(activity.getActivityTypeId().intValue()==Activity.SCHEDULE_GATE_ACTIVITY_TYPE) - runGateScheduler((ScheduleGateActivity)activity); + runGateScheduler((ScheduleGateActivity)activity,lessonStartTime); } //update lesson status requestedLesson.setLessonStateId(Lesson.STARTED_STATE); - + requestedLesson.setStartDateTime(lessonStartTime); lessonDAO.updateLesson(requestedLesson); if(log.isDebugEnabled()) @@ -742,7 +744,8 @@ * * @param scheduleGate the gate that needs to be scheduled. */ - private void runGateScheduler(ScheduleGateActivity scheduleGate) + private void runGateScheduler(ScheduleGateActivity scheduleGate, + Date lessonStartTime) { if(log.isDebugEnabled()) log.debug("Running scheduler for gate "+scheduleGate.getActivityId()+"..."); @@ -756,10 +759,10 @@ //create customized triggers Trigger openGateTrigger = new SimpleTrigger("openGateTrigger", Scheduler.DEFAULT_GROUP, - scheduleGate.getRealGateOpenTime()); + scheduleGate.getLessonGateOpenTime(lessonStartTime)); Trigger closeGateTrigger = new SimpleTrigger("closeGateTrigger", Scheduler.DEFAULT_GROUP, - scheduleGate.getRealGateCloseTime()); + scheduleGate.getLessonGateCloseTime(lessonStartTime)); //start the scheduling job try { @@ -771,6 +774,9 @@ throw new MonitoringServiceException("Error occurred at " + "[runGateScheduler]- fail to start scheduling",e); } + //update the gate because the start time might be setup + activityDAO.update(scheduleGate); + if(log.isDebugEnabled()) log.debug("Scheduler for Gate "+scheduleGate.getActivityId()+" started..."); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== diff -u -rdc3ace7961973e93b262349670d69142149be245 -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision dc3ace7961973e93b262349670d69142149be245) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 83751ccbd9c0d7db4e1c2f3e027646c41de5c29a) @@ -261,8 +261,8 @@ { gateForm.set("gate",scheduleGate); gateForm.set("waitingLearners",new Integer(scheduleGate.getWaitingLearners().size())); - gateForm.set("startingTime",scheduleGate.getRealGateOpenTime()); - gateForm.set("endingTime",scheduleGate.getRealGateCloseTime()); + gateForm.set("startingTime",scheduleGate.getGateStartDateTime()); + gateForm.set("endingTime",scheduleGate.getGateEndDateTime()); return mapping.findForward(VIEW_SCHEDULE_GATE); } Index: lams_monitoring/web/WEB-INF/lib/lams.jar =================================================================== diff -u -rd69bdbfcb5ca7fd3e10605130abc321de6d4619a -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a Binary files differ Index: lams_monitoring/web/gate/scheduleGateContent.jsp =================================================================== diff -u -rdc3ace7961973e93b262349670d69142149be245 -r83751ccbd9c0d7db4e1c2f3e027646c41de5c29a --- lams_monitoring/web/gate/scheduleGateContent.jsp (.../scheduleGateContent.jsp) (revision dc3ace7961973e93b262349670d69142149be245) +++ lams_monitoring/web/gate/scheduleGateContent.jsp (.../scheduleGateContent.jsp) (revision 83751ccbd9c0d7db4e1c2f3e027646c41de5c29a) @@ -40,13 +40,13 @@