Index: lams_learning/conf/xdoclet/web-settings.xml =================================================================== diff -u -r36c2ed010b8a3893b895d781be1a219f2380e62d -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/conf/xdoclet/web-settings.xml (.../web-settings.xml) (revision 36c2ed010b8a3893b895d781be1a219f2380e62d) +++ lams_learning/conf/xdoclet/web-settings.xml (.../web-settings.xml) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -27,5 +27,6 @@ contextConfigLocation /WEB-INF/spring/dataAccessContext.xml /WEB-INF/spring/applicationContext.xml /WEB-INF/spring/learningApplicationContext.xml + /WEB-INF/spring/lessonApplicationContext.xml /WEB-INF/spring/toolApplicationContext.xml Index: lams_learning/lib/cglib/cglib-nodep-2.1-dev.jar =================================================================== diff -u Binary files differ Index: lams_learning/lib/lams/lams.jar =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef Binary files differ Index: lams_learning/lib/lams/src/lams-src.zip =================================================================== diff -u -r61ab8aad9c6a33202b47ca6089e89653b5131b09 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef Binary files differ Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -93,7 +93,7 @@ * @return the bean containing the display data for the Learner * @throws LearnerServiceException in case of problems. */ - public LearnerProgress calculateProgress(Activity completedActivity, User learner, Lesson lesson) throws ProgressException; + public LearnerProgress calculateProgress(Activity completedActivity, User learner, Lesson lesson); /** Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -60,7 +60,7 @@ private ProgressEngine progressEngine; private IToolSessionDAO toolSessionDAO; private ILamsToolService lamsToolService; - private ActivityMapping activityMappings; + private ActivityMapping activityMapping; //--------------------------------------------------------------------- // Inversion of Control Methods - Constructor injection //--------------------------------------------------------------------- @@ -105,8 +105,8 @@ this.lamsToolService = lamsToolService; } - public void setActivityMappings(ActivityMapping activityMappings) { - this.activityMappings = activityMappings; + public void setActivityMapping(ActivityMapping activityMapping) { + this.activityMapping = activityMapping; } //--------------------------------------------------------------------- // Service Methods @@ -129,7 +129,18 @@ /** - * Joins a User to a new lesson as a learner + *

Joins a User to a lesson as a learner. It could either be a new lesson + * or a lesson that has been started.

+ * + *

In terms of new lesson, a new learner progress would be initialized. + * Tool session for the next activity will be initialized if necessary.

+ * + *

In terms of an started lesson, the learner progress will be returned + * without calculation. Tool session will be initialized if necessary. + * Note that we won't initialize tool session for current activity because + * we assume tool session will always initialize before it becomes a + * current activity.

- + @@ -34,21 +34,21 @@ - - + - - + + http://localhost:8080/lams_learning/ - + Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java (.../DummyLearnerService.java) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java (.../DummyLearnerService.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -70,8 +70,8 @@ this.request = request; } - public void setActivityMapping(ActivityMapping actionMappings) { - this.activityMapping = actionMappings; + public void setActivityMapping(ActivityMapping actionMapping) { + this.activityMapping = actionMapping; } private LearnerProgress getProgress() { Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyLessonAction.java =================================================================== diff -u -rcd9dd16d2a3966104ea1b84097d819c2578e9333 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyLessonAction.java (.../DummyLessonAction.java) (revision cd9dd16d2a3966104ea1b84097d819c2578e9333) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyLessonAction.java (.../DummyLessonAction.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -32,7 +32,6 @@ 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.service.DummyLearnerService; import org.lamsfoundation.lams.learning.web.bean.SessionBean; import org.lamsfoundation.lams.learning.web.form.ActivityForm; import org.lamsfoundation.lams.usermanagement.User; @@ -53,6 +52,10 @@ */ public class DummyLessonAction extends Action { + + private static final Integer TEST_USER_ID = new Integer(1); + private static final Long TEST_ACTIVITY_ID = new Long(36); + /** * Gets the session bean from session. * @return SessionBean for this request, null if no session. @@ -86,14 +89,14 @@ SessionBean sessionBean = new SessionBean(); IUserManagementService userService = getUserService(this.servlet.getServletContext()); - User user = userService.getUserById(new Integer(1)); + User user = userService.getUserById(TEST_USER_ID); sessionBean.setLearner(user); setSessionBean(sessionBean, request); - DummyLearnerService learnerService = (DummyLearnerService)LearnerServiceProxy.getLearnerService(this.getServlet().getServletContext()); - learnerService.setRequest(request); - learnerService.clearProgress(); - activityForm.setActivityId(new Long(1)); + ILearnerService learnerService = LearnerServiceProxy.getLearnerService(this.getServlet().getServletContext()); + //learnerService.setRequest(request); + //learnerService.clearProgress(); + activityForm.setActivityId(TEST_ACTIVITY_ID); ActionForward forward = mapping.findForward("displayLesson"); return forward; Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyToolAction.java =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyToolAction.java (.../DummyToolAction.java) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/DummyToolAction.java (.../DummyToolAction.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -30,8 +30,9 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; +import org.lamsfoundation.lams.learning.service.ILearnerService; +import org.lamsfoundation.lams.learning.service.LearnerService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; -import org.lamsfoundation.lams.learning.service.DummyLearnerService; import org.lamsfoundation.lams.learning.web.form.DummyToolForm; @@ -78,8 +79,8 @@ } long toolSessionId = testForm.getToolSessionId().longValue(); - DummyLearnerService learnerService = (DummyLearnerService)LearnerServiceProxy.getLearnerService(this.getServlet().getServletContext()); - learnerService.setRequest(request); + ILearnerService learnerService = (LearnerService)LearnerServiceProxy.getLearnerService(this.getServlet().getServletContext()); + //learnerService.setRequest(request); String url = learnerService.completeToolSession(toolSessionId, null); try { response.sendRedirect(url); Index: lams_learning/test/java/org/lamsfoundation/lams/tool/service/DummyToolService.java =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/test/java/org/lamsfoundation/lams/tool/service/DummyToolService.java (.../DummyToolService.java) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/test/java/org/lamsfoundation/lams/tool/service/DummyToolService.java (.../DummyToolService.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -73,4 +73,31 @@ return null; } + /** + * @see org.lamsfoundation.lams.tool.service.ILamsToolService#getToolSessionByLearner(org.lamsfoundation.lams.usermanagement.User, org.lamsfoundation.lams.learningdesign.Activity) + */ + public ToolSession getToolSessionByLearner(User arg0, Activity arg1) throws LamsToolServiceException + { + // TODO Auto-generated method stub + return null; + } + + /** + * @see org.lamsfoundation.lams.tool.service.ILamsToolService#getToolSessionById(java.lang.Long) + */ + public ToolSession getToolSessionById(Long arg0) + { + // TODO Auto-generated method stub + return null; + } + + /** + * @see org.lamsfoundation.lams.tool.service.ILamsToolService#updateToolSession(org.lamsfoundation.lams.tool.ToolSession) + */ + public void updateToolSession(ToolSession arg0) + { + // TODO Auto-generated method stub + + } + } Index: lams_learning/web/WEB-INF/lib/cglib-nodep-2.1-dev.jar =================================================================== diff -u Binary files differ Index: lams_learning/web/WEB-INF/lib/lams.jar =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef Binary files differ Index: lams_learning/web/WEB-INF/spring/learningApplicationContext.xml =================================================================== diff -u -r2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/web/WEB-INF/spring/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision 2ca1fa90ed42cdcd0438bad1b8282f39c995d2b1) +++ lams_learning/web/WEB-INF/spring/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -1,50 +1,58 @@ - + - + - + + + + + + + + + + + + + + + + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRES_NEW,ISOLATION_READ_COMMITTED + + + + - + http://localhost:8080/lams_learning/ - - - + Index: lams_learning/web/WEB-INF/spring/lessonApplicationContext.xml =================================================================== diff -u --- lams_learning/web/WEB-INF/spring/lessonApplicationContext.xml (revision 0) +++ lams_learning/web/WEB-INF/spring/lessonApplicationContext.xml (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + Index: lams_learning/web/WEB-INF/spring/toolApplicationContext.xml =================================================================== diff -u --- lams_learning/web/WEB-INF/spring/toolApplicationContext.xml (revision 0) +++ lams_learning/web/WEB-INF/spring/toolApplicationContext.xml (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + PROPAGATION_REQUIRES_NEW,ISOLATION_READ_COMMITTED + + + + + + + + + + + + + + + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED + PROPAGATION_REQUIRED,readOnly + + + + + Index: lams_learning/web/WEB-INF/web.xml =================================================================== diff -u -r4e049aced5079eff1ff599aa4572624cc0314e59 -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef --- lams_learning/web/WEB-INF/web.xml (.../web.xml) (revision 4e049aced5079eff1ff599aa4572624cc0314e59) +++ lams_learning/web/WEB-INF/web.xml (.../web.xml) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) @@ -32,6 +32,7 @@ contextConfigLocation /WEB-INF/spring/dataAccessContext.xml /WEB-INF/spring/applicationContext.xml /WEB-INF/spring/learningApplicationContext.xml + /WEB-INF/spring/lessonApplicationContext.xml /WEB-INF/spring/toolApplicationContext.xml