Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -re81b268e07447ac07e027363d79aec58c942bf60 -r8b8470ff8beb15b7172cb003b22eee92427e6785 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/web/LessonConditionsAction.java =================================================================== diff -u -rd0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa -r8b8470ff8beb15b7172cb003b22eee92427e6785 --- lams_central/src/java/org/lamsfoundation/lams/web/LessonConditionsAction.java (.../LessonConditionsAction.java) (revision d0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa) +++ lams_central/src/java/org/lamsfoundation/lams/web/LessonConditionsAction.java (.../LessonConditionsAction.java) (revision 8b8470ff8beb15b7172cb003b22eee92427e6785) @@ -20,14 +20,12 @@ * **************************************************************** */ - package org.lamsfoundation.lams.web; import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; -import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -170,17 +168,10 @@ return null; } - Long removedPrecedingLessonId = WebUtil.readLongParam(request, LessonConditionsAction.PARAM_PRECEDING_LESSON_ID, + Long precedingLessonId = WebUtil.readLongParam(request, LessonConditionsAction.PARAM_PRECEDING_LESSON_ID, false); - Lesson lesson = getLessonService().getLesson(lessonId); - Iterator precedingLessonIter = lesson.getPrecedingLessons().iterator(); - while (precedingLessonIter.hasNext()) { - if (precedingLessonIter.next().getLessonId().equals(removedPrecedingLessonId)) { - precedingLessonIter.remove(); - break; - } - } + getLessonService().removePrecedingLesson(lessonId, precedingLessonId); // after operation, display contents again return getIndexLessonConditions(mapping, form, request, response); @@ -201,16 +192,9 @@ return null; } - Long addedPrecedingLessonId = WebUtil.readLongParam(request, LessonConditionsAction.PARAM_PRECEDING_LESSON_ID, + Long precedingLessonId = WebUtil.readLongParam(request, LessonConditionsAction.PARAM_PRECEDING_LESSON_ID, false); - Lesson lesson = getLessonService().getLesson(lessonId); - Lesson addedPrecedingLesson = getLessonService().getLesson(addedPrecedingLessonId); - if (addedPrecedingLesson == null) { - throw new IllegalArgumentException("Preceding lesson with ID: " + lessonId + " does not exist."); - } - - lesson.getPrecedingLessons().add(addedPrecedingLesson); - + getLessonService().addPrecedingLesson(lessonId, precedingLessonId); // after operation, display contents again return getIndexLessonConditions(mapping, form, request, response); } @@ -220,7 +204,6 @@ * * @throws IOException */ - @SuppressWarnings("unchecked") public ActionForward setDaysToLessonFinish(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { Long lessonId = WebUtil.readLongParam(request, CentralConstants.PARAM_LESSON_ID, false); Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java =================================================================== diff -u -rd0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa -r8b8470ff8beb15b7172cb003b22eee92427e6785 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java (.../ILessonService.java) (revision d0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/ILessonService.java (.../ILessonService.java) (revision 8b8470ff8beb15b7172cb003b22eee92427e6785) @@ -424,4 +424,8 @@ Set getReleasedSucceedingLessons(Long completedLessonId, Integer learnerId); void removeLearnerProgress(Long lessonId, Integer userId); + + void addPrecedingLesson(Long lessonId, Long precedingLessonId); + + void removePrecedingLesson(Long lessonId, Long precedingLessonId); } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java =================================================================== diff -u -rd0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa -r8b8470ff8beb15b7172cb003b22eee92427e6785 --- lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision d0b6f213cba1026b0c9fdbdaa5dd44a49eddd3aa) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/service/LessonService.java (.../LessonService.java) (revision 8b8470ff8beb15b7172cb003b22eee92427e6785) @@ -21,7 +21,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.lesson.service; import java.util.ArrayList; @@ -699,4 +698,27 @@ } return releasedSucceedingLessons; } -} + + @Override + public void addPrecedingLesson(Long lessonId, Long precedingLessonId) { + Lesson addedPrecedingLesson = getLesson(precedingLessonId); + if (addedPrecedingLesson == null) { + throw new IllegalArgumentException("Preceding lesson with ID: " + lessonId + " does not exist."); + } + Lesson lesson = getLesson(lessonId); + + lesson.getPrecedingLessons().add(addedPrecedingLesson); + } + + @Override + public void removePrecedingLesson(Long lessonId, Long precedingLessonId) { + Lesson lesson = getLesson(lessonId); + Iterator precedingLessonIter = lesson.getPrecedingLessons().iterator(); + while (precedingLessonIter.hasNext()) { + if (precedingLessonIter.next().getLessonId().equals(precedingLessonId)) { + precedingLessonIter.remove(); + break; + } + } + } +} \ No newline at end of file