Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java =================================================================== diff -u -r0d064806d262c256111bd37392a61e856d83caee -r29e550368d14fc56c421abeabad9215d043fa77e --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision 0d064806d262c256111bd37392a61e856d83caee) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision 29e550368d14fc56c421abeabad9215d043fa77e) @@ -71,8 +71,7 @@ ToolActivity toolActivity = (ToolActivity)activity; - String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson().getLessonId(), - toolActivity, learnerProgress.getUser()); + String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson(), toolActivity, learnerProgress.getUser()); try { response.sendRedirect(url); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java =================================================================== diff -u -rdf5800a31c32417e062928bfca21c1b2c2ed1472 -r29e550368d14fc56c421abeabad9215d043fa77e --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision df5800a31c32417e062928bfca21c1b2c2ed1472) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LearnerAction.java (.../LearnerAction.java) (revision 29e550368d14fc56c421abeabad9215d043fa77e) @@ -376,7 +376,7 @@ //preparing tranfer object for flash LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgressByUser(request,getServlet().getServletContext()); ProgressActivityDTO activityDTO = new ProgressActivityDTO(new Long(activityId), - activityMapping.calculateActivityURLForProgressView(learnerProgress.getLesson().getLessonId(),learner,requestedActivity)); + activityMapping.calculateActivityURLForProgressView(learnerProgress.getLesson(),learner,requestedActivity)); //send data back to flash. message = new FlashMessage("getLearnerActivityURL",activityDTO); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java =================================================================== diff -u -r0d064806d262c256111bd37392a61e856d83caee -r29e550368d14fc56c421abeabad9215d043fa77e --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision 0d064806d262c256111bd37392a61e856d83caee) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision 29e550368d14fc56c421abeabad9215d043fa77e) @@ -71,9 +71,8 @@ form.setActivityId(activity.getActivityId()); - if (activity.isToolActivity() || activity.isSystemToolActivity() ) { - String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson().getLessonId(), - activity, learnerProgress.getUser()); + if (activity.isToolActivity() || activity.isSystemToolActivity() ) { + String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson(),activity, learnerProgress.getUser()); form.addActivityURL(new ActivityURL(activity.getActivityId(),url)); } else { log.error(className+": activity not ToolActivity"); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java =================================================================== diff -u -rdf5800a31c32417e062928bfca21c1b2c2ed1472 -r29e550368d14fc56c421abeabad9215d043fa77e --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision df5800a31c32417e062928bfca21c1b2c2ed1472) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 29e550368d14fc56c421abeabad9215d043fa77e) @@ -40,6 +40,7 @@ import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; import org.lamsfoundation.lams.usermanagement.User; @@ -293,15 +294,17 @@ * @param activity, the Activity to be displayed * @param progress, the current LearnerProgress, used to get activity status */ - public String getLearnerToolURL(Long lessonID, Activity activity, User learner) + public String getLearnerToolURL(Lesson lesson, Activity activity, User learner) { try { - return toolService.getToolLearnerURL(lessonID,activity,learner); + if ( lesson.isPreviewLesson() ) + return toolService.getToolLearnerPreviewURL(lesson.getLessonId(),activity,learner); + else + return toolService.getToolLearnerURL(lesson.getLessonId(),activity,learner); } catch (LamsToolServiceException e) { - //TODO define an exception at web layer throw new LearnerServiceException(e.getMessage()); } } @@ -369,13 +372,13 @@ * @param activity the activity the learner want to view * @return the url for that tool. */ - public String calculateActivityURLForProgressView(Long lessonID, User learner, + public String calculateActivityURLForProgressView(Lesson lesson, User learner, Activity activity) { if (activity.isToolActivity()) { - return getLearnerToolURL(lessonID, ((ToolActivity) activity), learner); + return getLearnerToolURL(lesson, ((ToolActivity) activity), learner); } else if (activity.isGroupingActivity()) //TODO need to be changed when group action servlet is done