Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java =================================================================== diff -u -r59929722ef9552565e18f958e47f8e409e669671 -ra1c82d1d104334920095e4e9132ac6d2c52bbce9 --- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision 59929722ef9552565e18f958e47f8e409e669671) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision a1c82d1d104334920095e4e9132ac6d2c52bbce9) @@ -44,7 +44,7 @@ * result in the completion of A. Therefore, completedActivityList * will hold B and C. */ - private static List completedActivityList = new LinkedList(); + private List completedActivityList = new LinkedList(); /** * Method determines next step for a learner based on the activity * they have just completed. @@ -111,8 +111,9 @@ Transition transition) { learnerProgress.setPreviousActivity(completedActivity); - learnerProgress.setCurrentCompletedActivitiesList(completedActivityList); - completedActivityList.clear(); + + populateCurrentCompletedActivityList(learnerProgress); + learnerProgress.setCurrentActivity(transition.getToActivity()); //we set the next activity to be the first child activity if it @@ -166,13 +167,15 @@ { learnerProgress.setParallelWaiting(true); learnerProgress.setNextActivity(null); + populateCurrentCompletedActivityList(learnerProgress); } else { learnerProgress.setParallelWaiting(false); learnerProgress.setNextActivity(nextActivity); learnerProgress.setProgressState(nextActivity, LearnerProgress.ACTIVITY_ATTEMPTED); + populateCurrentCompletedActivityList(learnerProgress); } } //recurvisely call back to calculateProgress to calculate completed @@ -188,6 +191,17 @@ } /** + * The helper method to setup the completed activity list since the last + * transition. + * @param learnerProgress + */ + private void populateCurrentCompletedActivityList(LearnerProgress learnerProgress) + { + learnerProgress.setCurrentCompletedActivitiesList(completedActivityList); + completedActivityList.clear(); + } + + /** * @param nextActivity * @return */ Index: lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml =================================================================== diff -u -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef -ra1c82d1d104334920095e4e9132ac6d2c52bbce9 --- lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) +++ lams_learning/test/java/WEB-INF/spring/learningApplicationContext.xml (.../learningApplicationContext.xml) (revision a1c82d1d104334920095e4e9132ac6d2c52bbce9) @@ -41,7 +41,7 @@ - + http://localhost:8080/lams_learning/ Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java =================================================================== diff -u -rf0f13cd7ba427bab1d37dc3a8a14e290c98245ef -ra1c82d1d104334920095e4e9132ac6d2c52bbce9 --- lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java (.../DummyLearnerService.java) (revision f0f13cd7ba427bab1d37dc3a8a14e290c98245ef) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/DummyLearnerService.java (.../DummyLearnerService.java) (revision a1c82d1d104334920095e4e9132ac6d2c52bbce9) @@ -338,6 +338,16 @@ progress.setCurrentActivity(getActivity(1, progress)); return progress; - } + } + + + /** + * @see org.lamsfoundation.lams.learning.service.ILearnerService#getActiveLessonsFor(org.lamsfoundation.lams.usermanagement.User) + */ + public List getActiveLessonsFor(User learner) + { + // TODO Auto-generated method stub + return null; + } } Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java =================================================================== diff -u -r59929722ef9552565e18f958e47f8e409e669671 -ra1c82d1d104334920095e4e9132ac6d2c52bbce9 --- lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision 59929722ef9552565e18f958e47f8e409e669671) +++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision a1c82d1d104334920095e4e9132ac6d2c52bbce9) @@ -65,19 +65,19 @@ private User testUser; private Lesson testLesson; private static LearnerProgress testProgress; - private static final long TEST_NB_ACTIVITY_ID = 35; - private static final long TEST_RGRP_ACTIVITY_ID = 38; - private static final long TEST_CHAT_ACTIVITY_ID = 37; - private static final long TEST_QNA_ACTIVITY_ID = 39; - private static final long TEST_OPTIONS_ACTIVITY_ID = 26; - private static final long TEST_CNB_ACTIVITY_ID = 27; - private static final long TEST_PARALLEL_ACTIVITY_ID = 29; - private static final long TEST_CQNA_ACTIVITY_ID = 30; + private static final long TEST_NB_ACTIVITY_ID = 39; + private static final long TEST_RGRP_ACTIVITY_ID = 28; + private static final long TEST_CHAT_ACTIVITY_ID = 27; + private static final long TEST_QNA_ACTIVITY_ID = 29; + private static final long TEST_OPTIONS_ACTIVITY_ID = 30; + private static final long TEST_CNB_ACTIVITY_ID = 31; + private static final long TEST_PARALLEL_ACTIVITY_ID = 33; + private static final long TEST_CQNA_ACTIVITY_ID = 34; private static final long TEST_WAITING_ACTIVITY_ID = -1; - private static final long TEST_MB_ACTIVITY_ID = 31; - private static final long TEST_SEQUENCE_ACTIVITY_ID = 32; - private static final long TEST_SR_ACTIVITY_ID = 33; - private static final long TEST_SQNA_ACTIVITY_ID = 34; + private static final long TEST_MB_ACTIVITY_ID = 35; + private static final long TEST_SEQUENCE_ACTIVITY_ID = 36; + private static final long TEST_SR_ACTIVITY_ID = 37; + private static final long TEST_SQNA_ACTIVITY_ID = 38; private static final String HOST="http://localhost:8080/lams_learning/"; private static final String LOAD_TOOL_URL="/LoadToolActivity.do"; private static final String PARAM_ACTIVITY_ID="?activityId="; @@ -115,12 +115,12 @@ } protected String[] getContextConfigLocation() { - return new String[] { "/WEB-INF/spring/learningApplicationContext.xml", - "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml", - "/org/lamsfoundation/lams/tool/toolApplicationContext.xml", + return new String[] { "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml", + "/org/lamsfoundation/lams/tool/toolApplicationContext.xml", "/org/lamsfoundation/lams/tool/survey/dataAccessContext.xml", "/org/lamsfoundation/lams/tool/survey/surveyApplicationContext.xml", - "applicationContext.xml"}; + "applicationContext.xml", + "/WEB-INF/spring/learningApplicationContext.xml"}; } public void testJoinLesson() throws ProgressException,LamsToolServiceException @@ -131,9 +131,9 @@ assertNotNull(testProgress); assertNotNull("verify next activity",testProgress.getNextActivity()); - assertEquals("verify id of next activity-survey",36,testProgress.getNextActivity().getActivityId().longValue()); + assertEquals("verify id of next activity-survey",26,testProgress.getNextActivity().getActivityId().longValue()); assertNotNull("verify current activity",testProgress.getCurrentActivity()); - assertEquals("verify id of current activity-survey",36,testProgress.getCurrentActivity().getActivityId().longValue()); + assertEquals("verify id of current activity-survey",26,testProgress.getCurrentActivity().getActivityId().longValue()); assertEquals("verify attempted activity",1,testProgress.getAttemptedActivities().size()); assertEquals("verify completed activity",0,testProgress.getCompletedActivities().size()); assertNotNull("verify correspondent tool session for next activity",