Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java =================================================================== diff -u -r2b6827b06455b7269c88062bd218427529ee0a4c -r656dbb791ab57da2b9333c23220ea29eb59a7d6b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision 2b6827b06455b7269c88062bd218427529ee0a4c) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision 656dbb791ab57da2b9333c23220ea29eb59a7d6b) @@ -90,7 +90,7 @@ while (i.hasNext()) { Activity subActivity = (Activity)i.next(); ActivityURL activityURL = new ActivityURL(); - String url = actionMappings.getActivityURL(subActivity, learnerProgress); + String url = actionMappings.getActivityURL(subActivity); activityURL.setUrl(url); activityURL.setActivityId(subActivity.getActivityId()); activityURL.setTitle(subActivity.getTitle()); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java =================================================================== diff -u -rcdb910b6cd3de106725e2c22ded380c5c0fab650 -r656dbb791ab57da2b9333c23220ea29eb59a7d6b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java (.../DisplayParallelActivityAction.java) (revision cdb910b6cd3de106725e2c22ded380c5c0fab650) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayParallelActivityAction.java (.../DisplayParallelActivityAction.java) (revision 656dbb791ab57da2b9333c23220ea29eb59a7d6b) @@ -70,7 +70,6 @@ actionMappings.setActivityMappingStrategy(new ParallelActivityMappingStrategy()); - LearnerProgress learnerProgress = getLearnerProgress(request); Activity activity = LearningWebUtil.getActivityFromRequest(request, getLearnerService()); if (!(activity instanceof ParallelActivity)) { log.error(className+": activity not ParallelActivity "+activity.getActivityId()); @@ -87,7 +86,7 @@ { Activity subActivity = (Activity)i.next(); ActivityURL activityURL = new ActivityURL(); - String url = actionMappings.getActivityURL(subActivity, learnerProgress); + String url = actionMappings.getActivityURL(subActivity); activityURL.setUrl(url); activityURLs.add(activityURL); } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java =================================================================== diff -u -r29e550368d14fc56c421abeabad9215d043fa77e -r656dbb791ab57da2b9333c23220ea29eb59a7d6b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 29e550368d14fc56c421abeabad9215d043fa77e) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 656dbb791ab57da2b9333c23220ea29eb59a7d6b) @@ -86,8 +86,7 @@ ActionForward actionForward = null; //String strutsAction = getActivityAction(activity, progress); - String strutsAction = this.activityMappingStrategy.getActivityAction(activity, - progress); + String strutsAction = this.activityMappingStrategy.getActivityAction(activity); if (activity.isToolActivity()) { // always use redirect false for a ToolActivity as ToolDisplayActivity @@ -152,8 +151,7 @@ // if previous activity was a parallel activity then we need to // clear frames. String strutsAction = "/requestDisplay.do"; - String activityURL = this.getActivityURL(progress.getNextActivity(), - progress); + String activityURL = this.getActivityURL(progress.getNextActivity()); strutsAction += "?url=" + activityURL; actionForward = strutsActionToForward(strutsAction, null, @@ -225,10 +223,9 @@ * @param activity, the Activity to be displayed * @param progress, the LearnerProgress associated with the Activity and learner */ - public String getActivityURL(Activity activity, LearnerProgress progress) + public String getActivityURL(Activity activity) { - String strutsAction = this.activityMappingStrategy.getActivityAction(activity, - progress); + String strutsAction = this.activityMappingStrategy.getActivityAction(activity); return strutsActionToURL(strutsAction, activity, true); } @@ -265,8 +262,7 @@ else { // display next activity - activityURL = this.getActivityURL(progress.getNextActivity(), - progress); + activityURL = this.getActivityURL(progress.getNextActivity()); if (progress.getPreviousActivity().isParallelActivity()) { // if previous activity was a parallel activity then we need to @@ -376,16 +372,13 @@ Activity activity) { - if (activity.isToolActivity()) + if (activity.isToolActivity() || activity.isSystemToolActivity()) { - return getLearnerToolURL(lesson, ((ToolActivity) activity), learner); + return WebUtil.convertToFullURL(getLearnerToolURL(lesson, ((ToolActivity) activity), learner)); + } else { + // fall back to the strategy for complex activities + return getActivityURL(activity); } - else if (activity.isGroupingActivity()) - //TODO need to be changed when group action servlet is done - return getActivityURL(activity, null); - - throw new LearnerServiceException("Fails to get the progress url view" - + " for activity[" + activity.getActivityId().longValue() + "]"); } public void setToolService(ILamsCoreToolService toolService) Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java =================================================================== diff -u -r0d064806d262c256111bd37392a61e856d83caee -r656dbb791ab57da2b9333c23220ea29eb59a7d6b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java (.../ActivityMappingStrategy.java) (revision 0d064806d262c256111bd37392a61e856d83caee) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMappingStrategy.java (.../ActivityMappingStrategy.java) (revision 656dbb791ab57da2b9333c23220ea29eb59a7d6b) @@ -41,9 +41,8 @@ * @param progress, LearnerProgress for the activity, used to check activity status * @return String representing a struts action */ - protected String getActivityAction(Activity activity, LearnerProgress progress) { + protected String getActivityAction(Activity activity) { String strutsAction = null; - if ( activity.isComplexActivity() ) { if ( activity.isParallelActivity() ) strutsAction = "/DisplayParallelActivity.do"; Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java =================================================================== diff -u -rcdb910b6cd3de106725e2c22ded380c5c0fab650 -r656dbb791ab57da2b9333c23220ea29eb59a7d6b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java (.../ParallelActivityMappingStrategy.java) (revision cdb910b6cd3de106725e2c22ded380c5c0fab650) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ParallelActivityMappingStrategy.java (.../ParallelActivityMappingStrategy.java) (revision 656dbb791ab57da2b9333c23220ea29eb59a7d6b) @@ -46,7 +46,7 @@ if (progress.getProgressState(activity) == LearnerProgress.ACTIVITY_COMPLETED) strutsAction = "/parallelWait.do"; else - strutsAction = super.getActivityAction(activity, progress); + strutsAction = super.getActivityAction(activity); return strutsAction; }