Index: lams_build/lib/lams/lams-learning.jar =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc Binary files differ Index: lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java =================================================================== diff -u -rcdb910b6cd3de106725e2c22ded380c5c0fab650 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision cdb910b6cd3de106725e2c22ded380c5c0fab650) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/export/service/ExportPortfolioService.java (.../ExportPortfolioService.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -32,7 +32,6 @@ import java.net.MalformedURLException; import java.util.HashMap; import java.util.Iterator; -import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.Vector; @@ -200,7 +199,7 @@ if (learner != null && lesson != null) { - LearnerProgress learnerProgress = learnerService.getProgress(learner, lesson); + LearnerProgress learnerProgress = learnerService.getProgress(learner.getUserId(), lesson); if (learnerProgress != null) { Index: lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -43,6 +43,7 @@ PROPAGATION_REQUIRED PROPAGATION_REQUIRED + PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ILearnerService.java (.../ILearnerService.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -59,21 +59,21 @@ /** * Joins a User to a a new lesson as a learner - * @param learner the Learner + * @param learnerId the Learner's userID * @param lessionID identifies the Lesson to start * @throws LearnerServiceException in case of problems. */ - public LearnerProgress joinLesson(User learner, Long lessonID) ; + public LearnerProgress joinLesson(Integer learnerId, Long lessonID) ; /** * Returns the current progress data of the User. - * @param learner the Learner + * @param learnerId the Learner's userID * @param lesson the Lesson to get progress from. * @return LearnerProgess contains the learner's progress for the lesson. * @throws LearnerServiceException in case of problems. */ - public LearnerProgress getProgress(User learner, Lesson lesson); + public LearnerProgress getProgress(Integer learnerId, Lesson lesson); /** * Return the current progress data against progress id. @@ -92,12 +92,12 @@ /** * Marks an activity as attempted. Called when a user selects an OptionsActivity. - * @param learner the Learner + * @param learnerId the Learner's userID * @param lesson the Lesson to get progress from. * @param activity the activity being attempted. * @return LearnerProgress */ - public LearnerProgress chooseActivity(User learner, Lesson lesson, Activity activity); + public LearnerProgress chooseActivity(Integer learnerId, Lesson lesson, Activity activity); /** @@ -108,13 +108,17 @@ * @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); + public LearnerProgress calculateProgress(Activity completedActivity, Integer learnerId, Lesson lesson); /** * Marks an tool session as complete and calculates the next activity against * the learning design. This method is for tools to redirect the client on * complete. + * + * Do not change learnerId to Integer (to match the other calls) + * as all the tools expect this to be a Long. + * * @param toolSessionId, session ID for completed tool * @param learnerId the learner who is completing the tool session. * @return the URL for the next activity @@ -129,34 +133,34 @@ * grouping and gate. This method should be used when we don't have an activity * or a lesson that is already part of the Hibernate session. * - * @param learner the learner who are running this activity in the design. + * @param learnerId the learner who are running this activity in the design. * @param activity the activity is being run. * @param lesson id the lesson this learner is currently in. * @return the url for next activity. */ - public String completeActivity(User learner,Long activityId,Long lessonId); + public String completeActivity(Integer learnerId,Long activityId,Long lessonId); /** * Complete the activity in the progress engine and delegate to the progress * engine to calculate the next activity in the learning design. This method should * be used when we t have an activity that is already part of the Hibernate session. * It is currently triggered by complete tool session progress from tool. * - * @param learner the learner who are running this activity in the design. + * @param learnerId the learner who are running this activity in the design. * @param activity the activity is being run. * @param lesson the lesson this learner is currently in. * @return the url for next activity. */ - public String completeActivity(User learner,Activity activity,Lesson lesson); + public String completeActivity(Integer learnerId,Activity activity,Lesson lesson); /** * Retrieve all lessons that has been started, suspended or finished. All * finished but archived lesson should not be loaded. - * + * TODO to be removed when dummy learner interface is removed * @param learner the user who intend to start a lesson * @return a list of active lessons. */ - public LessonDTO[] getActiveLessonsFor(User learner); + public LessonDTO[] getActiveLessonsFor(Integer learnerId); /** * Mark the learner progress as restarting to indicate the current learner @@ -181,6 +185,12 @@ public List getActiveLearnersByLesson(long lessonId); /** + * Returns a count of all the active learners by lesson id. + * More efficient than calling getActiveLearnersByLesson(lessonId).size() + */ + public Integer getCountActiveLearnersByLesson(long lessonId); + + /** * Perform random grouping for the learners who have started the lesson, * based on the grouping activity. This method should be used when we don't * have an grouping activity that is already part of the Hibernate session. Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -179,8 +179,9 @@ * Delegate to lesson dao to load up the lessons. * @see org.lamsfoundation.lams.learning.service.ILearnerService#getActiveLessonsFor(org.lamsfoundation.lams.usermanagement.User) */ - public LessonDTO[] getActiveLessonsFor(User learner) + public LessonDTO[] getActiveLessonsFor(Integer learnerId) { + User learner = userManagementService.getUserById(learnerId); List activeLessons = this.lessonDAO.getActiveLessonsForLearner(learner); return getLessonDataFor(activeLessons); } @@ -213,15 +214,17 @@ * current activity.

= optionsActivity.getMinNumberOfOptions().intValue()) { + + Integer minNum = optionsActivity.getMinNumberOfOptions(); + Integer maxNum = optionsActivity.getMaxNumberOfOptions(); + if ( ( minNum == null && completedCount > 0) || ( minNum != null && minNum.intValue() <= completedCount) ){ form.setFinished(true); } - form.setMinimum(optionsActivity.getMinNumberOfOptions().intValue()); - form.setMaximum(optionsActivity.getMaxNumberOfOptions().intValue()); + form.setMinimum(minNum!=null?optionsActivity.getMinNumberOfOptions().intValue():0); + form.setMaximum(maxNum!=null?optionsActivity.getMaxNumberOfOptions().intValue():subActivities.size()); this.saveToken(request); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DummyLearnerAction.java =================================================================== diff -u -r0977a832c3e57655f1031778702ce6ea0e122985 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DummyLearnerAction.java (.../DummyLearnerAction.java) (revision 0977a832c3e57655f1031778702ce6ea0e122985) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DummyLearnerAction.java (.../DummyLearnerAction.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -39,10 +39,7 @@ import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.dto.LessonDTO; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.util.wddx.FlashMessage; -import org.lamsfoundation.lams.util.wddx.WDDXProcessor; import org.lamsfoundation.lams.web.action.LamsDispatchAction; @@ -108,9 +105,9 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //get learner. - User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); + Integer learner = LearningWebUtil.getUserId(getServlet().getServletContext()); if(log.isDebugEnabled()) - log.debug("Getting active lessons for leaner:"+learner.getFullName()+"["+learner.getUserId()+"]"); + log.debug("Getting active lessons for leaner:["+learner+"]"); LessonDTO [] lessons = learnerService.getActiveLessonsFor(learner); request.getSession().setAttribute(PARAM_LESSONS, lessons); @@ -146,20 +143,19 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //get user and lesson based on request. - User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); + Integer learner = LearningWebUtil.getUserId(getServlet().getServletContext()); long lessonID = WebUtil.readLongParam(request,LearningWebUtil.PARAM_LESSON_ID); if(log.isDebugEnabled()) - log.debug("The learner ["+learner.getUserId()+"],["+learner.getFullName() - +"is joining the lesson ["+lessonID+"]"); + log.debug("The learner ["+learner+"] is joining the lesson ["+lessonID+"]"); //join user to the lesson on the server LearnerProgress learnerProgress = learnerService.joinLesson(learner,lessonID); if(log.isDebugEnabled()) - log.debug("The learner ["+learner.getUserId()+"] joined lesson. The" - +"porgress data is:"+learnerProgress.toString()); + log.debug("The learner ["+learner+"] joined lesson. The" + +"progress data is:"+learnerProgress.toString()); LearningWebUtil.setLearnerProgress(learnerProgress); return mapping.findForward(DISPLAY_ACTIVITY); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java (.../GateAction.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GateAction.java (.../GateAction.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -117,6 +117,7 @@ //initialize service object ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); + Integer totalNumActiveLearners = learnerService.getCountActiveLearnersByLesson(learnerProgress.getLesson().getLessonId()); //knock the gate boolean gateOpen = learnerService.knockGate(learnerProgress.getLesson().getLessonId(), learnerProgress.getNextActivity().getActivityId(), @@ -126,7 +127,7 @@ // if we reuse our cached entries, hibernate may throw session errors (if the objects are CGLIB entities). if(gateOpen) { - String nextActivityUrl = learnerService.completeActivity(learnerProgress.getUser(), + String nextActivityUrl = learnerService.completeActivity(learnerProgress.getUser().getUserId(), learnerProgress.getNextActivity().getActivityId(), learnerProgress.getLesson().getLessonId()); // get the update @@ -138,7 +139,7 @@ else { learnerProgress = learnerService.getProgressById(learnerProgress.getLearnerProgressId()); LearningWebUtil.setLearnerProgress(learnerProgress); - return findViewByGateType(mapping, (DynaActionForm)form, learnerProgress.getCurrentActivity()); + return findViewByGateType(mapping, (DynaActionForm)form, learnerProgress.getCurrentActivity(), totalNumActiveLearners); } } @@ -177,15 +178,18 @@ * @param gateForm The ActionForm class that will contain any data submitted * by the end-user via a form. * @param permissionGate the gate acitivty object + * @param totalNumActiveLearners total number of active learners in the lesson (may not all be logged in) * @return An ActionForward class that will be returned to the ActionServlet * indicating where the user is to go next. */ private ActionForward findViewByGateType(ActionMapping mapping, DynaActionForm gateForm, - Activity gate) + Activity gate, + Integer totalNumActiveLearners) { //dispatch the view according to the type of the gate. if ( gate != null ) { + gateForm.set("totalLearners",totalNumActiveLearners); if(gate.isSynchGate()) return viewSynchGate(mapping,gateForm,(SynchGateActivity)gate); else if(gate.isScheduleGate()) @@ -218,7 +222,6 @@ PermissionGateActivity permissionGate) { gateForm.set("gate",permissionGate); - gateForm.set("waitingLearners",new Integer(permissionGate.getWaitingLearners().size())); return mapping.findForward(VIEW_PERMISSION_GATE); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -147,16 +147,9 @@ { //initialize service object ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); - //get current user and lesson data via http. It ensures they are availabe - //in the http session. If not, we assume parameters are coming from - //request or falsh and we can create learner and lesson objects. - User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); - Lesson lesson = LearningWebUtil.getLessonData(request,getServlet().getServletContext()); - + Activity groupingActivity = LearningWebUtil.getActivityFromRequest(request,learnerService); - - List groups = new ArrayList(((GroupingActivity)groupingActivity).getCreateGrouping() - .getGroups()); + List groups = new ArrayList(((GroupingActivity)groupingActivity).getCreateGrouping().getGroups()); request.getSession().setAttribute(GROUPS,groups); request.setAttribute(LearningWebUtil.PARAM_ACTIVITY_ID, groupingActivity.getActivityId()); @@ -189,7 +182,7 @@ Activity groupingActivity = LearningWebUtil.getActivityFromRequest(request,learnerService); - String nextActivityUrl = learnerService.completeActivity(learnerProgress.getUser(), + String nextActivityUrl = learnerService.completeActivity(learnerProgress.getUser().getUserId(), groupingActivity, learnerProgress.getLesson()); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -145,19 +145,18 @@ try { //get user and lesson based on request. - User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); + Integer learner = LearningWebUtil.getUserId(getServlet().getServletContext()); long lessonID = WebUtil.readLongParam(request,LearningWebUtil.PARAM_LESSON_ID); if(log.isDebugEnabled()) - log.debug("The learner ["+learner.getUserId()+"],["+learner.getFullName() - +"is joining the lesson ["+lessonID+"]"); + log.debug("The learner ["+learner+"] is joining the lesson ["+lessonID+"]"); //join user to the lesson on the server LearnerProgress learnerProgress = learnerService.joinLesson(learner,lessonID); if(log.isDebugEnabled()) - log.debug("The learner ["+learner.getUserId()+"] joined lesson. The" + log.debug("The learner ["+learner+"] joined lesson. The" +"porgress data is:"+learnerProgress.toString()); LearningWebUtil.setLearnerProgress(learnerProgress); @@ -370,7 +369,9 @@ ILearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext()); //getting requested object according to coming parameters - User learner = LearningWebUtil.getUserData(getServlet().getServletContext()); + Integer learnerId = LearningWebUtil.getUserId(getServlet().getServletContext()); + User learner = LearnerServiceProxy.getUserManagementService(getServlet().getServletContext()).getUserById(learnerId); + Activity requestedActivity = learnerService.getActivity(new Long(activityId)); //preparing tranfer object for flash Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java =================================================================== diff -u -r7d5e18b6ddc40f4de3d34eefa114afc297724289 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision 7d5e18b6ddc40f4de3d34eefa114afc297724289) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/LearningWebUtil.java (.../LearningWebUtil.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -28,15 +28,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import org.apache.log4j.Logger; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learning.service.LearnerServiceProxy; import org.lamsfoundation.lams.learning.web.action.ActivityAction; -import org.lamsfoundation.lams.learning.web.bean.SessionBean; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; @@ -53,7 +50,7 @@ public class LearningWebUtil { - private static Logger log = Logger.getLogger(LearningWebUtil.class); +// private static Logger log = Logger.getLogger(LearningWebUtil.class); //--------------------------------------------------------------------- // Class level constants - session attributes //--------------------------------------------------------------------- @@ -71,21 +68,11 @@ * @param surveyService the service facade of survey tool * @return the user data value object */ - public static User getUserData(ServletContext servletContext) + public static Integer getUserId(ServletContext servletContext) { HttpSession ss = SessionManager.getSession(); UserDTO learner = (UserDTO) ss.getAttribute(AttributeNames.USER); - - //if no session cache available, retrieve it from data source - if ( learner != null ) { - User currentUser = LearnerServiceProxy.getUserManagementService(servletContext) - .getUserById(learner.getUserID()); - if(log.isDebugEnabled()&¤tUser!=null) - log.debug("user retrieved from database:"+currentUser.getUserId()); - - return currentUser; - } - return null; + return learner != null ? learner.getUserID() : null; } /** @@ -132,35 +119,6 @@ } } - /** - * Helper method to get session bean. - * TODO resolve the duplicate code in activity action. - * @param request A standard Servlet HttpServletRequest class. - * @param servletContext the servlet container that has all resources - * @return The requested lesson. - */ - public static SessionBean getSessionBean(HttpServletRequest request,ServletContext servletContext) - { - SessionBean bean = (SessionBean)request.getSession().getAttribute(SessionBean.NAME); - - //create new one from database - if(bean ==null) - { - //initialize service object - ILearnerService learnerService = LearnerServiceProxy.getLearnerService(servletContext); - - User currentLearner = getUserData(servletContext); - Lesson lesson = getLessonData(request,servletContext); - LearnerProgress progress = learnerService.getProgress(currentLearner,lesson); - bean = new SessionBean(currentLearner,lesson,progress); - -// TODO don't cache it currently - would do it via jboss cache! -// request.getSession().setAttribute(SessionBean.NAME,bean); -// request.getSession().setAttribute(ActivityAction.LEARNER_PROGRESS_REQUEST_ATTRIBUTE,progress); - } - return bean; - } - /** * Put the learner progress in the user's special session object. */ @@ -208,7 +166,7 @@ { //initialize service object ILearnerService learnerService = LearnerServiceProxy.getLearnerService(servletContext); - User currentLearner = getUserData(servletContext); + Integer currentLearner = getUserId(servletContext); Lesson lesson = getLessonData(request,servletContext); learnerProgress = learnerService.getProgress(currentLearner,lesson); setLearnerProgress(learnerProgress); Index: lams_learning/test/java/org/lamsfoundation/lams/learning/export/service/TestExportPortfolioService.java =================================================================== diff -u -rcdab8186de5e9c75a9d6774616ead602dbf9cb69 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/test/java/org/lamsfoundation/lams/learning/export/service/TestExportPortfolioService.java (.../TestExportPortfolioService.java) (revision cdab8186de5e9c75a9d6774616ead602dbf9cb69) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/export/service/TestExportPortfolioService.java (.../TestExportPortfolioService.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -176,7 +176,7 @@ */ public void testGetOrderedListByLearnerProgressId() { - testProgress=learnerProgressDao.getLearnerProgressByLearner(testUser,testLesson); + testProgress=learnerProgressDao.getLearnerProgressByLearner(testUser.getUserId(),testLesson); Vector sortedActivityList = exportService.getOrderedActivityList(testProgress); Vector testActivityIdList = getTestOrderedCompletedActivityIdList(); Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java =================================================================== diff -u -r9c471a74c4816ae7dc393c66025d4a004b9e65f1 -r2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc --- lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision 9c471a74c4816ae7dc393c66025d4a004b9e65f1) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision 2bfd4245ec82b86c782db4a9be15f24c3e9a6ccc) @@ -24,9 +24,6 @@ /* $$Id$$ */ package org.lamsfoundation.lams.learning.service; -import java.util.LinkedList; -import java.util.List; - import org.apache.log4j.Logger; import org.lamsfoundation.lams.learning.progress.ProgressException; import org.lamsfoundation.lams.learningdesign.Activity; @@ -156,9 +153,9 @@ public void testJoinLesson() throws ProgressException,LamsToolServiceException { - learnerService.joinLesson(testUser,Test_Lesson_ID); + learnerService.joinLesson(testUser.getUserId(),Test_Lesson_ID); - testProgress=learnerProgressDao.getLearnerProgressByLearner(testUser,testLesson); + testProgress=learnerProgressDao.getLearnerProgressByLearner(testUser.getUserId(),testLesson); assertNotNull(testProgress); // get the next activity, and get it by its proper class so we can analyse it! @@ -182,7 +179,7 @@ public void testCompleteToolSession() { String urlForNextActivity = learnerService.completeToolSession(new Long(TEST_TOOL_SESSION_ID), - new Long(testUser.getUserId().longValue())); + testUser.getUserId()); ToolSession toolSession = toolSessionDao.getToolSession(new Long(TEST_TOOL_SESSION_ID)); @@ -202,7 +199,7 @@ //progress from survey to synch gate testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_SYNCHGATE_ACTIVITY_UIID,TEST_SYNCHGATE_ACTIVITY_UIID,1,1,"sycn-gate","sycn-gate"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -211,7 +208,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_NOTEBOOK_ACTIVITY_UIID,TEST_NOTEBOOK_ACTIVITY_UIID,2,1,"random grouping","random grouping"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -221,7 +218,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_RGRP_ACTIVITY_UIID,TEST_RGRP_ACTIVITY_UIID,3,1,"random grouping","random grouping"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -230,7 +227,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_SCHEDULE_GATE_ACTIVITY_UIID,TEST_SCHEDULE_GATE_ACTIVITY_UIID,4,1,"schedule gate","schedule gate"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -240,7 +237,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_CHAT_ACTIVITY_UIID,TEST_CHAT_ACTIVITY_UIID,5,1,"chat","chat"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -249,7 +246,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_QNA_ACTIVITY_UIID,TEST_QNA_ACTIVITY_UIID,6,1,"QNA","QNA"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -259,7 +256,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_PERMISSION_GATE_ACTIVITY_UIID,TEST_PERMISSION_GATE_ACTIVITY_UIID,7,1,"permission gate","permission gate"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -268,7 +265,7 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testCompletedActivity; testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_OPTIONS_ACTIVITY_UIID,TEST_OPTIONS_ACTIVITY_UIID,8,1,"OPTIONS","OPTIONS"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -277,7 +274,7 @@ testCompletedActivity = ((OptionsActivity)testProgress.getCurrentActivity()).getChildActivityById(TEST_CNB_ACTIVITY_ID); testRootPreviousActivity = testCompletedActivity.getParentActivity(); testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_PARALLEL_ACTIVITY_UIID,TEST_PARALLEL_ACTIVITY_UIID,10,1,"PARALLEL","PARALLEL"); assertEquals("verify temp completed activities",2,testProgress.getCurrentCompletedActivitiesList().size()); @@ -287,7 +284,7 @@ //the previous activity should not be changed. testRootPreviousActivity = testProgress.getPreviousActivity(); testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_PARALLEL_ACTIVITY_UIID,TEST_WAITING_ACTIVITY_UIID,11,1,"PARALLEL","WAITING"); assertTrue("verify waiting flag-should be waiting.",testProgress.isParallelWaiting()); @@ -298,7 +295,7 @@ testCompletedActivity = ((ParallelActivity)testProgress.getCurrentActivity()).getChildActivityById(TEST_MB_ACTIVITY_ID); testRootPreviousActivity = testCompletedActivity.getParentActivity(); testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_SEQUENCE_ACTIVITY_UIID,TEST_SR_ACTIVITY_UIID,13,1,"SEQUENCE","SHARE RESOURCE"); assertTrue("verify waiting flag-should not be waiting",!testProgress.isParallelWaiting()); @@ -308,15 +305,15 @@ testCompletedActivity = testProgress.getNextActivity(); testRootPreviousActivity = testProgress.getPreviousActivity(); testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertLearnerProgress(testRootPreviousActivity,TEST_SEQUENCE_ACTIVITY_UIID,TEST_SQNA_ACTIVITY_UIID,14,2,"SEQUENCE","QNA"); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); //progress sub sequence(QNA) to complete lesson testCompletedActivity = testProgress.getNextActivity(); testProgress = learnerService.calculateProgress(testCompletedActivity, - testUser, + testUser.getUserId(), testLesson); assertTrue("verify lesson complete",testProgress.isLessonComplete()); assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size()); @@ -326,7 +323,7 @@ { learnerService.exitLesson(testProgress.getLearnerProgressId()); - LearnerProgress progress = learnerProgressDao.getLearnerProgressByLearner(testUser,testLesson); + LearnerProgress progress = learnerProgressDao.getLearnerProgressByLearner(testUser.getUserId(),testLesson); assertTrue("verify it should be restarting",progress.isRestarting());