Index: lams_build/lib/lams/lams-learning.jar
===================================================================
diff -u -r99795d361309cb79a48c4bb46b15f46ae4ab51f9 -re023857e217082f46fd3235d5673129ffccf6ff4
Binary files differ
Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -r70aab47cedf78d1e44e6e755b36fb095911bed52 -re023857e217082f46fd3235d5673129ffccf6ff4
Binary files differ
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml
===================================================================
diff -u -r920894ca746cba5e080023c5cc80167d64d1653d -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision 920894ca746cba5e080023c5cc80167d64d1653d)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml (.../LearnerProgress.hbm.xml) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -22,7 +22,7 @@
-
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -64,6 +64,13 @@
public static final byte ACTIVITY_ATTEMPTED = 2;
/** Indicates activity has not been attempted yet */
public static final byte ACTIVITY_NOT_ATTEMPTED = 3;
+
+ /** Parallel waiting state: Not waiting in any way */
+ public static final byte PARALLEL_NO_WAIT = 0;
+ /** Parallel waiting state: One activity complete, the others still to be completed */
+ public static final byte PARALLEL_WAITING = 1;
+ /** Parallel waiting state: All activities completed, break out of parallel frames */
+ public static final byte PARALLEL_WAITING_COMPLETE = 2;
//---------------------------------------------------------------------
// attributes
//---------------------------------------------------------------------
@@ -119,7 +126,7 @@
* Indicates the learner progress is in a incomplete parallel activity
* or not.
*/
- private boolean parallelWaiting;
+ private byte parallelWaiting;
/**
* A list of completed activities ids before move on to next activity
@@ -380,14 +387,14 @@
/**
* @return Returns the isParallelWaiting.
*/
- public boolean isParallelWaiting()
+ public byte getParallelWaiting()
{
return parallelWaiting;
}
/**
* @param isParallelWaiting The isParallelWaiting to set.
*/
- public void setParallelWaiting(boolean parallelWaiting)
+ public void setParallelWaiting(byte parallelWaiting)
{
this.parallelWaiting = parallelWaiting;
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/progress/ProgressEngine.java (.../ProgressEngine.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -63,7 +63,7 @@
private List completedActivityList = new LinkedList();
/**
* Method determines next step for a learner based on the activity
- * they have just completed.
+ * they have just completed. Will clear the Parallel Waiting Complete value if it is currently set.
* @param learner The User
who is progressing through the Lesson
.
* @param completedActivity The Activity
the learner has just completed.
* @param lesson The Lesson
the learner needs progress for.
@@ -76,6 +76,17 @@
Activity completedActivity,
LearnerProgress learnerProgress) throws ProgressException
{
+ if ( learnerProgress.getParallelWaiting() == LearnerProgress.PARALLEL_WAITING_COMPLETE ) {
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_NO_WAIT);
+ }
+ return doCalculateProgress(learner, completedActivity, learnerProgress);
+ }
+
+ /** Internal method used for recursion. Does the actual "work" of calculateProgress. */
+ private LearnerProgress doCalculateProgress(User learner,
+ Activity completedActivity,
+ LearnerProgress learnerProgress) throws ProgressException
+ {
learnerProgress.setProgressState(completedActivity,
LearnerProgress.ACTIVITY_COMPLETED);
completedActivityList.add(completedActivity.getActivityId());
@@ -119,7 +130,7 @@
+"]");
} else if ( progress.getCompletedActivities().contains(ld.getFirstActivity()) ) {
// special case - recalculating the appropriate current activity.
- return calculateProgress(progress.getUser(), ld.getFirstActivity(), progress);
+ return doCalculateProgress(progress.getUser(), ld.getFirstActivity(), progress);
} else if ( canDoActivity(progress.getLesson(), ld.getFirstActivity()) ) {
// normal case
progress.setCurrentActivity(ld.getFirstActivity());
@@ -238,7 +249,8 @@
else
learnerProgress.setNextActivity(nextActivity);
setActivityAttempted(learnerProgress, nextActivity);
- learnerProgress.setParallelWaiting(false);
+ if ( learnerProgress.getParallelWaiting() == LearnerProgress.PARALLEL_WAITING )
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_WAITING_COMPLETE );
} else {
return clearProgressNowhereToGoNotCompleted(learnerProgress,"progressCompletedActivity");
@@ -250,7 +262,7 @@
// abnormal case: next activity already done. Must have jumped back to an earlier
// optional activity, done another activity and then kept going
- return calculateProgress(learner,nextActivity,learnerProgress);
+ return doCalculateProgress(learner,nextActivity,learnerProgress);
}
}
@@ -303,13 +315,12 @@
}
else if(isParallelWaitActivity(nextActivity))
{
- learnerProgress.setParallelWaiting(true);
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_WAITING);
// learnerProgress.setNextActivity(null);
populateCurrentCompletedActivityList(learnerProgress);
}
else if ( canDoActivity(learnerProgress.getLesson(), nextActivity) )
{
- learnerProgress.setParallelWaiting(false);
learnerProgress.setNextActivity(nextActivity);
setActivityAttempted(learnerProgress, nextActivity);
populateCurrentCompletedActivityList(learnerProgress);
@@ -322,7 +333,9 @@
//parent activity.
else {
learnerProgress.setPreviousActivity(complexParent);
- calculateProgress(learner, parent, learnerProgress);
+ doCalculateProgress(learner, parent, learnerProgress);
+ if ( learnerProgress.getParallelWaiting() == LearnerProgress.PARALLEL_WAITING )
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_WAITING_COMPLETE );
}
}
//lesson is meant to be completed if there is no transition and no parent.
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/ICoreLearnerService.java (.../ICoreLearnerService.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -121,12 +121,14 @@
/**
* Calculates learner progress and returns the data required to be displayed to the learner (including URL(s)).
+ * This method is included in the interface for testing purposes.
+ *
* @param completedActivityID identifies the activity just completed
* @param learner the Learner
* @return the bean containing the display data for the Learner
* @throws LearnerServiceException in case of problems.
*/
- public LearnerProgress calculateProgress(Activity completedActivity, Integer learnerId);
+ public LearnerProgress calculateProgress(Activity completedActivity, Integer learnerId, LearnerProgress currentLearnerProgress);
/**
* Complete the activity in the progress engine and delegate to the progress
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -24,7 +24,6 @@
/* $$Id$$ */
package org.lamsfoundation.lams.learning.service;
-import java.io.UnsupportedEncodingException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
@@ -382,28 +381,26 @@
/**
* Calculates learner progress and returns the data required to be displayed
* to the learner.
- * @param completedActivityID identifies the activity just completed
+ * @param completedActivity the activity just completed
* @param learner the Learner
+ * @param learnerProgress the current progress
* @return the bean containing the display data for the Learner
* @throws LamsToolServiceException
* @throws LearnerServiceException in case of problems.
*/
- public LearnerProgress calculateProgress(Activity completedActivity,Integer learnerId)
+ public LearnerProgress calculateProgress(Activity completedActivity,Integer learnerId, LearnerProgress currentLearnerProgress)
{
- Lesson lesson = getLessonByActivity(completedActivity);
- LearnerProgress learnerProgress = learnerProgressDAO.getLearnerProgressByLearner(learnerId,lesson.getLessonId());
-
try
{
- learnerProgress = progressEngine.calculateProgress(learnerProgress.getUser(), completedActivity,learnerProgress);
+ LearnerProgress learnerProgress = progressEngine.calculateProgress(currentLearnerProgress.getUser(), completedActivity,currentLearnerProgress);
learnerProgressDAO.updateLearnerProgress(learnerProgress);
+ return learnerProgress;
}
catch (ProgressException e)
{
throw new LearnerServiceException(e.getMessage());
}
- return learnerProgress;
}
/**
@@ -476,7 +473,7 @@
} else {
- nextLearnerProgress = calculateProgress(activity, learnerId);
+ nextLearnerProgress = calculateProgress(activity, learnerId, progress);
}
//}
return nextLearnerProgress;
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -113,6 +113,7 @@
form.setDescription(optionsActivity.getDescription());
form.setTitle(optionsActivity.getTitle());
form.setLessonID(learnerProgress.getLesson().getLessonId());
+ form.setProgressID(learnerProgress.getLearnerProgressId());
this.saveToken(request);
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/OptionsActivityForm.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/OptionsActivityForm.java (.../OptionsActivityForm.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/form/OptionsActivityForm.java (.../OptionsActivityForm.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -37,7 +37,8 @@
private int minimum;
private int maximum;
private boolean finished;
-
+ private Long progressID;
+
public String getTitle() {
return title;
}
@@ -68,4 +69,10 @@
public void setFinished(boolean finished) {
this.finished = finished;
}
+ public Long getProgressID() {
+ return progressID;
+ }
+ public void setProgressID(Long progressID) {
+ this.progressID = progressID;
+ }
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -137,14 +137,12 @@
String strutsAction = this.getActivityMappingStrategy()
.getLessonCompleteAction();
strutsAction = WebUtil.appendParameterToURL(strutsAction, LearningWebUtil.PARAM_PROGRESS_ID, progress.getLearnerProgressId().toString());
- actionForward = this.strutsActionToForward(strutsAction,
- null,
- redirect);
+ strutsAction = strutsActionToURL(strutsAction, null, true);
+ actionForward = this.getClearFramesForward(strutsAction, progress.getLearnerProgressId().toString());
}
else
{
-
- if (! displayParallelFrames && progress.isParallelWaiting())
+ if (! displayParallelFrames && progress.getParallelWaiting() == LearnerProgress.PARALLEL_WAITING)
{
// processing the screen WITHIN parallel activity frames.
// progress is waiting, goto waiting page
@@ -157,11 +155,12 @@
else
{
// display next activity
- if (progress.getPreviousActivity()!=null && progress.getPreviousActivity().isParallelActivity())
+ if (progress.getParallelWaiting() == LearnerProgress.PARALLEL_WAITING_COMPLETE)
{
// if previous activity was a parallel activity then we need to
// clear frames.
- actionForward = this.getRedirectForward(progress, redirect);
+ String activityURL = this.getActivityURL(progress.getNextActivity());
+ actionForward = this.getClearFramesForward(activityURL, progress.getLearnerProgressId().toString());
}
else
{
@@ -183,20 +182,28 @@
return actionForward;
}
- public ActionForward getRedirectForward(LearnerProgress progress, boolean redirect) throws UnsupportedEncodingException {
- ActionForward actionForward = null;
+ /** Call the requestDisplay.do action to break out of any frames.
+ * Doesn't need to redirect this forward, as the requestDisplay.do does a redirect
+ *
+ * @param activityURL URL to which we will be redirected. Does not need to be encoded as this method will encode it.
+ * @param progressId
+ * @return actionForward to which to forward
+ * @throws UnsupportedEncodingException
+ */
+ private ActionForward getClearFramesForward(String activityURL, String progressId) throws UnsupportedEncodingException {
+
+ String encodedURL = URLEncoder.encode(activityURL, "UTF-8");
+
+ ActionForward actionForward = null;
- String activityURL = this.getActivityURL(progress.getNextActivity());
- activityURL = URLEncoder.encode(activityURL, "UTF-8");
-
- String strutsAction = "/requestDisplay.do?url=" + activityURL;
+ String strutsAction = "/requestDisplay.do?url=" + encodedURL;
strutsAction = WebUtil.appendParameterToURL(strutsAction,
LearningWebUtil.PARAM_PROGRESS_ID,
- progress.getLearnerProgressId().toString());
+ progressId);
actionForward = strutsActionToForward(strutsAction,
null,
- redirect);
+ false);
return actionForward;
}
Index: lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java
===================================================================
diff -u -rb97468c00c782ebee49471b0675951989237904c -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision b97468c00c782ebee49471b0675951989237904c)
+++ lams_learning/test/java/org/lamsfoundation/lams/learning/service/TestLearnerService.java (.../TestLearnerService.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -199,15 +199,17 @@
//progress from survey to synch gate
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
//progress from synch gate to notebook
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
@@ -216,15 +218,17 @@
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
//progress from random grouping activity to schedule gate
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
@@ -233,15 +237,17 @@
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertLearnerProgress(testRootPreviousActivity,TEST_CHAT_ACTIVITY_UIID,TEST_CHAT_ACTIVITY_UIID,5,1,"chat","chat");
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
//progress from chat activity to QNA
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertLearnerProgress(testRootPreviousActivity,TEST_QNA_ACTIVITY_UIID,TEST_QNA_ACTIVITY_UIID,6,1,"QNA","QNA");
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
@@ -250,23 +256,26 @@
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
//progress from permission gate to options activity
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testCompletedActivity;
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertLearnerProgress(testRootPreviousActivity,TEST_OPTIONS_ACTIVITY_UIID,TEST_OPTIONS_ACTIVITY_UIID,8,1,"OPTIONS","OPTIONS");
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
//progress from sub option(notice board) to parallel activity
testCompletedActivity = ((OptionsActivity)testProgress.getCurrentActivity()).getChildActivityById(TEST_CNB_ACTIVITY_ID);
testRootPreviousActivity = testCompletedActivity.getParentActivity();
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertLearnerProgress(testRootPreviousActivity,TEST_PARALLEL_ACTIVITY_UIID,TEST_PARALLEL_ACTIVITY_UIID,10,1,"PARALLEL","PARALLEL");
assertEquals("verify temp completed activities",2,testProgress.getCurrentCompletedActivitiesList().size());
@@ -275,33 +284,37 @@
//the previous activity should not be changed.
testRootPreviousActivity = testProgress.getPreviousActivity();
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertLearnerProgress(testRootPreviousActivity,TEST_PARALLEL_ACTIVITY_UIID,TEST_WAITING_ACTIVITY_UIID,11,1,"PARALLEL","WAITING");
- assertTrue("verify waiting flag-should be waiting.",testProgress.isParallelWaiting());
+ assertEquals("verify waiting flag-should be waiting.",testProgress.getParallelWaiting(),LearnerProgress.PARALLEL_WAITING);
assertTrue("verify next activity",testProgress.getNextActivity()==null);
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
//progress from sub parallel(message board) to sub sequence activity(share resource)
testCompletedActivity = ((ParallelActivity)testProgress.getCurrentActivity()).getChildActivityById(TEST_MB_ACTIVITY_ID);
testRootPreviousActivity = testCompletedActivity.getParentActivity();
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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());
+ assertEquals("verify waiting flag-should not complete",testProgress.getParallelWaiting(),LearnerProgress.PARALLEL_WAITING_COMPLETE);
assertEquals("verify temp completed activities",2,testProgress.getCurrentCompletedActivitiesList().size());
//progress from sub sequence(share resource) to sub sequence(QNA)
testCompletedActivity = testProgress.getNextActivity();
testRootPreviousActivity = testProgress.getPreviousActivity();
testProgress = learnerService.calculateProgress(testCompletedActivity,
- testUser.getUserId());
+ testUser.getUserId(),
+ testProgress);
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.getUserId());
+ testUser.getUserId(),
+ testProgress);
assertTrue("verify lesson complete",testProgress.isLessonComplete());
assertEquals("verify temp completed activities",1,testProgress.getCurrentCompletedActivitiesList().size());
}
Index: lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java (.../TestDisplayActivityAction.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_learning/test/java/org/lamsfoundation/lams/learning/web/action/TestDisplayActivityAction.java (.../TestDisplayActivityAction.java) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -103,6 +103,7 @@
//LearnerProgress progress = testBean.getLearnerProgress();
ParallelActivity parallelActivity= new ParallelActivity();
learnerProgress.setPreviousActivity(parallelActivity);
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_WAITING_COMPLETE);
//testBean.setLearnerProgress(progress);
httpSession.setAttribute(ActivityAction.LEARNER_PROGRESS_REQUEST_ATTRIBUTE,learnerProgress);
@@ -152,7 +153,7 @@
{
//setup the session bean to display parallel waiting.
//LearnerProgress progress = testBean.getLearnerProgress();
- learnerProgress.setParallelWaiting(true);
+ learnerProgress.setParallelWaiting(LearnerProgress.PARALLEL_WAITING);
//testBean.setLearnerProgress(progress);
//httpSession.setAttribute(SessionBean.NAME,testBean);
httpSession.setAttribute(ActivityAction.LEARNER_PROGRESS_REQUEST_ATTRIBUTE,learnerProgress);
Index: lams_learning/web/optionsActivity.jsp
===================================================================
diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -re023857e217082f46fd3235d5673129ffccf6ff4
--- lams_learning/web/optionsActivity.jsp (.../optionsActivity.jsp) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6)
+++ lams_learning/web/optionsActivity.jsp (.../optionsActivity.jsp) (revision e023857e217082f46fd3235d5673129ffccf6ff4)
@@ -116,6 +116,8 @@
+
+