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.87 -r1.88 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 11 Jul 2006 07:37:05 -0000 1.87 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 12 Jul 2006 05:18:14 -0000 1.88 @@ -42,7 +42,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.authoring.service.IAuthoringService; -import org.lamsfoundation.lams.learning.service.ILearnerService; +import org.lamsfoundation.lams.learning.service.ICoreLearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ChosenGrouping; import org.lamsfoundation.lams.learningdesign.ComplexActivity; @@ -131,7 +131,7 @@ private ILearningDesignDAO learningDesignDAO; private IGroupingDAO groupingDAO; private IAuthoringService authoringService; - private ILearnerService learnerService; + private ICoreLearnerService learnerService; private ILessonService lessonService; private ILamsCoreToolService lamsCoreToolService; private IUserManagementService userManagementService; @@ -186,7 +186,7 @@ * * @param learnerService */ - public void setLearnerService(ILearnerService learnerService) { + public void setLearnerService(ICoreLearnerService learnerService) { this.learnerService = learnerService; } /** @@ -882,6 +882,14 @@ ToolActivity toolActivity = (ToolActivity) activity; try { ToolSession toolSession = lamsCoreToolService.getToolSessionByActivity(learner,toolActivity); + if ( toolSession == null ) { + // grouped tool's tool session isn't created until the first user in the group reaches that + // point the tool session creation is normally triggered by LoadTooLActivityAction, so we need + // to do it here. Won't happen very often - normally another member of the group will have + // triggered the creation of the tool session. + learnerService.createToolSessionsIfNecessary(toolActivity,progress); + toolSession = lamsCoreToolService.getToolSessionByActivity(learner,toolActivity); + } learnerService.completeToolSession(toolSession.getToolSessionId(),new Long(learner.getUserId().longValue())); if ( log.isDebugEnabled()) { log.debug("Tool activity [" + activity.getActivityId() + "] is completed."); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java,v diff -u -r1.3 -r1.4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java 6 Apr 2006 06:33:51 -0000 1.3 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringServiceProxy.java 12 Jul 2006 05:18:14 -0000 1.4 @@ -26,7 +26,7 @@ import javax.servlet.ServletContext; -import org.lamsfoundation.lams.learning.service.ILearnerService; +import org.lamsfoundation.lams.learning.service.ICoreLearnerService; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -63,9 +63,9 @@ * @param servletContext the servletContext for current application * @return learner service object. */ - public static final ILearnerService getLearnerService(ServletContext servletContext) + public static final ICoreLearnerService getLearnerService(ServletContext servletContext) { - return (ILearnerService)getDomainService(servletContext,"learnerService"); + return (ICoreLearnerService)getDomainService(servletContext,"learnerService"); } /** * Retrieve the proper Spring bean from bean factory. Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java,v diff -u -r1.11 -r1.12 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java 10 Jul 2006 22:15:16 -0000 1.11 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java 12 Jul 2006 05:18:14 -0000 1.12 @@ -34,7 +34,7 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; -import org.lamsfoundation.lams.learning.service.ILearnerService; +import org.lamsfoundation.lams.learning.service.ICoreLearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.PermissionGateActivity; @@ -93,7 +93,7 @@ // private static Logger log = Logger.getLogger(GateAction.class); private IMonitoringService monitoringService; - private ILearnerService learnerService; + private ICoreLearnerService learnerService; //--------------------------------------------------------------------- // Class level constants - Struts forward //--------------------------------------------------------------------- Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java,v diff -u -r1.1 -r1.2 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java 6 Jun 2006 02:34:45 -0000 1.1 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXAction.java 12 Jul 2006 05:18:14 -0000 1.2 @@ -39,8 +39,6 @@ import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.learning.service.ILearnerService; -import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ChosenGrouping; Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/web/TestMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/web/Attic/TestMonitoringAction.java,v diff -u -r1.5 -r1.6 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/web/TestMonitoringAction.java 14 Apr 2006 06:40:27 -0000 1.5 +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/web/TestMonitoringAction.java 12 Jul 2006 05:18:14 -0000 1.6 @@ -76,8 +76,6 @@ super.setUp(); setConfigFile("/WEB-INF/struts/struts-config.xml"); setRequestPathInfo("/monitoring.do"); - - //learnerService = (ILearnerService)this.wac.getBean("learnerService"); } /*