Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsCoreToolService.java =================================================================== diff -u -rbbe9589ceab063d62380b9fe3f02648a4581e109 -r84fdcb946a3188efb2c259c4d264d95d46803a06 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsCoreToolService.java (.../ILamsCoreToolService.java) (revision bbe9589ceab063d62380b9fe3f02648a4581e109) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsCoreToolService.java (.../ILamsCoreToolService.java) (revision 84fdcb946a3188efb2c259c4d264d95d46803a06) @@ -28,6 +28,7 @@ import org.lamsfoundation.lams.confidencelevel.ConfidenceLevelDTO; import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.tool.Tool; @@ -307,6 +308,9 @@ */ Long getLessonMaxPossibleMark(Lesson lesson); + /** Will the marks caculation take into account weighting? */ + boolean isWeightedMarks(LearningDesign design); + /** * Update the tool session data. * Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsCoreToolService.java =================================================================== diff -u -rbbe9589ceab063d62380b9fe3f02648a4581e109 -r84fdcb946a3188efb2c259c4d264d95d46803a06 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsCoreToolService.java (.../LamsCoreToolService.java) (revision bbe9589ceab063d62380b9fe3f02648a4581e109) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsCoreToolService.java (.../LamsCoreToolService.java) (revision 84fdcb946a3188efb2c259c4d264d95d46803a06) @@ -38,6 +38,7 @@ import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.GroupingActivity; +import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; import org.lamsfoundation.lams.lesson.Lesson; @@ -678,6 +679,22 @@ return lessonMaxPossibleMark; } + @Override + public boolean isWeightedMarks(LearningDesign design) { + Set activities = design.getActivities(); + for (Activity activity : activities) { + if (activity.isToolActivity()) { + // fetch real object, otherwise there is a cast error + ToolActivity act = (ToolActivity) activityDAO.getActivityByActivityId(activity.getActivityId()); + ActivityEvaluation eval = act.getEvaluation(); + if (eval != null && eval.getWeight() != null && eval.getWeight() > 0) { + return true; + } + } + } + return false; + } + /** * Returns lesson tool activities. It works almost the same as lesson.getLearningDesign().getActivities() except it * solves problem with first activity unable to cast to ToolActivity. Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r87806866f673458de317c4d1c6656b3bf5a81039 -r84fdcb946a3188efb2c259c4d264d95d46803a06 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 87806866f673458de317c4d1c6656b3bf5a81039) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 84fdcb946a3188efb2c259c4d264d95d46803a06) @@ -373,7 +373,7 @@ userToGradebookUserLessonMap = getUserToGradebookUserLessonMap(lesson, learners); } - boolean isWeighted = isWeightedMarks(lesson.getLearningDesign()); + boolean isWeighted = toolService.isWeightedMarks(lesson.getLearningDesign()); for (User learner : learners) { LearnerProgress learnerProgress = userToLearnerProgressMap.get(learner.getUserId()); @@ -521,7 +521,7 @@ if (lesson == null) { return; } - boolean weighted = isWeightedMarks(lesson.getLearningDesign()); + boolean weighted = toolService.isWeightedMarks(lesson.getLearningDesign());; Map userToGradebookUserLessonMap = getUserToGradebookUserLessonMap(lesson, null); @@ -650,24 +650,9 @@ } @Override - public boolean isWeightedMarks(LearningDesign design) { - Set activities = design.getActivities(); - for (Activity activity : activities) { - if (activity.isToolActivity()) { - // fetch real object, otherwise there is a cast error - ToolActivity act = (ToolActivity) activityDAO.getActivityByActivityId(activity.getActivityId()); - ActivityEvaluation eval = act.getEvaluation(); - if (eval != null && eval.getWeight() != null && eval.getWeight() > 0) { - return true; - } - } - } - return false; - } - - @Override public boolean isWeightedMarks(Long lessonId) { - return isWeightedMarks(getLessonService().getLesson(lessonId).getLearningDesign()); + Lesson lesson = lessonService.getLesson(lessonId); + return toolService.isWeightedMarks(lesson.getLearningDesign()); } @Override @@ -721,8 +706,8 @@ gradebookUserLesson.setLesson(lesson); } - aggregateTotalMarkForLesson(isWeightedMarks(lesson.getLearningDesign()), gradebookUserLesson, - gradebookUserActivity, oldActivityMark); + boolean isWeightedMarks = toolService.isWeightedMarks(lesson.getLearningDesign()); + aggregateTotalMarkForLesson(isWeightedMarks, gradebookUserLesson, gradebookUserActivity, oldActivityMark); // audit log changed gradebook mark if (isAuditLogRequired) { @@ -812,7 +797,8 @@ lessonRows.add(lessonRow); lessonRow.setLessonName(lesson.getLessonName()); lessonRow.setId(lesson.getLessonId().toString()); - lessonRow.setDisplayMarkAsPercent(isWeightedMarks(lesson.getLearningDesign())); + boolean isWeightedMarks = toolService.isWeightedMarks(lesson.getLearningDesign()); + lessonRow.setDisplayMarkAsPercent(isWeightedMarks); if (view == GBGridView.LIST) { continue; @@ -977,7 +963,7 @@ @SuppressWarnings("unchecked") public LinkedHashMap exportLessonGradebook(Lesson lesson) { - boolean isWeighted = isWeightedMarks(lesson.getLearningDesign()); + boolean isWeighted = toolService.isWeightedMarks(lesson.getLearningDesign());; LinkedHashMap dataToExport = new LinkedHashMap(); @@ -1305,7 +1291,8 @@ Set dbLessonUsers = lesson.getAllLearners(); allLearners.addAll(dbLessonUsers); lessonIds.add(lesson.getLessonId()); - isWeightedLessonMap.put(lesson.getLessonId(), isWeightedMarks(lesson.getLearningDesign())); + boolean isWeightedMarks = toolService.isWeightedMarks(lesson.getLearningDesign()); + isWeightedLessonMap.put(lesson.getLessonId(), isWeightedMarks); } // Fetching the user data @@ -1444,7 +1431,8 @@ } selectedLessons.add(lesson); - isWeightedLessonMap.put(lesson.getLessonId(), isWeightedMarks(lesson.getLearningDesign())); + boolean isWeightedMarks = toolService.isWeightedMarks(lesson.getLearningDesign()); + isWeightedLessonMap.put(lesson.getLessonId(), isWeightedMarks); allLearners.addAll(lesson.getAllLearners()); Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java =================================================================== diff -u -r1699f7ed4fd338ac614126e4d68739f417997c4d -r84fdcb946a3188efb2c259c4d264d95d46803a06 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 1699f7ed4fd338ac614126e4d68739f417997c4d) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 84fdcb946a3188efb2c259c4d264d95d46803a06) @@ -326,9 +326,6 @@ List getMarksArray(Long lessonId); /** Will the marks caculation take into account weighting? */ - boolean isWeightedMarks(LearningDesign design); - - /** Will the marks caculation take into account weighting? */ boolean isWeightedMarks(Long lessonId); /** Get a summary of the weightings */