Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml,v
diff -u -r1.19 -r1.20
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 31 May 2006 12:39:50 -0000 1.19
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 2 Jun 2006 07:54:15 -0000 1.20
@@ -43,6 +43,7 @@
+
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java,v
diff -u -r1.51 -r1.52
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java 31 May 2006 07:14:35 -0000 1.51
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java 2 Jun 2006 07:54:15 -0000 1.52
@@ -33,6 +33,7 @@
import org.lamsfoundation.lams.learningdesign.GroupingActivity;
import org.lamsfoundation.lams.learningdesign.exception.LearningDesignProcessorException;
import org.lamsfoundation.lams.lesson.Lesson;
+import org.lamsfoundation.lams.lesson.service.LessonServiceException;
import org.lamsfoundation.lams.tool.exception.LamsToolServiceException;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.exception.UserAccessDeniedException;
@@ -389,7 +390,7 @@
* @param groupingActivity
* @param groups list of group information.
*/
- public void performChosenGrouping(GroupingActivity groupingActivity, List groups);
+ public void performChosenGrouping(GroupingActivity groupingActivity, List groups) throws LessonServiceException;
//---------------------------------------------------------------------
// Preview Methods
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java,v
diff -u -r1.74 -r1.75
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 1 Jun 2006 22:57:48 -0000 1.74
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 2 Jun 2006 07:54:15 -0000 1.75
@@ -56,13 +56,15 @@
import org.lamsfoundation.lams.learningdesign.dao.ITransitionDAO;
import org.lamsfoundation.lams.learningdesign.dto.ProgressActivityDTO;
import org.lamsfoundation.lams.learningdesign.exception.LearningDesignProcessorException;
+import org.lamsfoundation.lams.learningdesign.service.ILearningDesignService;
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.lesson.LessonClass;
import org.lamsfoundation.lams.lesson.dao.ILessonClassDAO;
import org.lamsfoundation.lams.lesson.dao.ILessonDAO;
import org.lamsfoundation.lams.lesson.dto.LessonDetailsDTO;
import org.lamsfoundation.lams.lesson.service.ILessonService;
+import org.lamsfoundation.lams.lesson.service.LessonServiceException;
import org.lamsfoundation.lams.monitoring.MonitoringConstants;
import org.lamsfoundation.lams.tool.ToolSession;
import org.lamsfoundation.lams.tool.exception.DataMissingException;
@@ -133,7 +135,8 @@
private Scheduler scheduler;
private ApplicationContext applicationContext;
private MessageService messageService;
-
+ private ILearningDesignService learningDesignService;
+
//---------------------------------------------------------------------
// Inversion of Control Methods - Method injection
//---------------------------------------------------------------------
@@ -256,11 +259,15 @@
this.scheduler = scheduler;
}
+ public void setLearningDesignService(ILearningDesignService learningDesignService) {
+ this.learningDesignService = learningDesignService;
+ }
+
//---------------------------------------------------------------------
// Service Methods
//---------------------------------------------------------------------
- /** Checks whether the user is a staff member for the lesson or the creator of the lesson.
+ /** Checks whether the user is a staff member for the lesson or the creator of the lesson.
* If not, throws a UserAccessDeniedException exception */
private void checkOwnerOrStaffMember(Integer userId, Lesson lesson, String actionDescription) {
User user = userManagementService.getUserById(userId);
@@ -774,9 +781,11 @@
//group does not exist
if(grouping.isRandomGrouping()){
//for random grouping, create then complete it. Continue
- learnerService.performGrouping(lessonId, groupActivity);
-// grouping = groupActivity.getCreateGrouping();
-// myGroup = grouping.getGroupBy(learner);
+ try {
+ lessonService.performGrouping(lessonId, groupActivity,learner);
+ } catch (LessonServiceException e) {
+ stopReason = "Force complete stop at non-grouped grouping activity [" + groupActivity + "] due to exception "+e.getMessage();
+ }
learnerService.completeActivity(learner.getUserId(),activity,lessonId);
log.debug("Grouping activity [" + activity.getActivityId() + "] is completed.");
}else{
@@ -1136,9 +1145,10 @@
}
/**
- * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#performChosenGrouping(GroupingActivity,java.util.List)
+ * @throws LessonServiceException
+ * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#performChosenGrouping(GroupingActivity,java.util.List)
*/
- public void performChosenGrouping(GroupingActivity groupingActivity, List groups) {
+ public void performChosenGrouping(GroupingActivity groupingActivity, List groups) throws LessonServiceException {
Grouping grouping = groupingActivity.getCreateGrouping();
if(!grouping.isChosenGrouping()){
@@ -1174,7 +1184,7 @@
}
log.debug("Performing grouping for " + groupName + "...");
- grouping.doGrouping(groupName,learners);
+ lessonService.performChosenGrouping(groupingActivity,learners);
log.debug("Finish grouping for " + groupName);
}