Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== RCS file: /usr/local/cvsroot/lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java,v diff -u -r1.79 -r1.80 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 14 Apr 2008 06:35:00 -0000 1.79 +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java 5 May 2008 07:54:48 -0000 1.80 @@ -612,7 +612,10 @@ if ( lesson.isPreviewLesson() ) { ArrayList learnerList = new ArrayList(); learnerList.add(learner); - lessonService.performGrouping(grouping, group!=null?group.getGroupId():null, learnerList); + if ( group != null && group.getGroupId() != null ) + lessonService.performGrouping(grouping, group!=null?group.getGroupId():null, learnerList); + else + lessonService.performGrouping(grouping, group.getGroupName(), learnerList); groupingDone = true; } return groupingDone; @@ -994,6 +997,13 @@ } else { Group group = lessonService.createGroup(grouping, selectedBranch.getTitle()); group.allocateBranchToGroup(null, selectedBranch, branchingActivity); + if ( ! forceGrouping(lesson, grouping, group, learner) ) { + String error = "selectBranch: learner "+learnerId+" cannot be added to the group "+group+" for the branch " + +selectedBranch+" for the lesson "+lesson.getLessonName()+" preview is "+lesson.isPreviewLesson() + +". This will only work if preview is true."; + log.error(error); + throw new LearnerServiceException(error); + } } groupingDAO.update(grouping);