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",