Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
$Id: 105077 2012-02-24 22:54:29Z $ Copyright (c) 2005, 2006, 2007, 2008 The Sakai Foundation, The MIT Corporation Licensed under the Educational Community License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 package org.sakaiproject.tool.gradebook;
A CourseGrade is a GradableObject that represents the overall course grade in a gradebook.

Josh Holtzman
 public class CourseGrade extends GradableObject {
 	// Should only be used to fill in the DB column.
     private static final String COURSE_GRADE_NAME = "Course Grade";
     public static String SORT_BY_OVERRIDE_GRADE = "override";
     public static String SORT_BY_CALCULATED_GRADE = "autoCalc";
     public static String SORT_BY_POINTS_EARNED = "pointsEarned";
     private Double averageScore;
     public CourseGrade() {

     public boolean isCourseGrade() {
         return true;
     public boolean isAssignment() {
         return false;
     public boolean getIsCategory() {
         return false;
 	//// Bean getters and setters ////
Calculate the mean course grade (whether entered or calulated) as a percentage for all enrollments, leaving students who've explicitly been given non-percentage-valued manual-only course grades (such as "I" for incomplete) or null scores out of the calculation.
     public void calculateStatistics(Collection<CourseGradeRecordgradeRecordsint numEnrollments) {
         // Ungraded but enrolled students count as if they have 0% in the course.
         int numScored = numEnrollments - gradeRecords.size();
         BigDecimal total = new BigDecimal("0");
         BigDecimal average = new BigDecimal("0");
         for (CourseGradeRecord record : gradeRecords) {
             Double score = record.getGradeAsPercentage();
             // Skip manual-only course grades.
         	if ((record.getEnteredGrade() != null) && (score == null)) {
         	if (score != null && record.getPointsEarned() != null) {
         		average = average.add(new BigDecimal(record.getPointsEarned().toString()));
         		total = total.add(new BigDecimal(score.toString()));
 //        	numScored++;
        if (numScored == 0) {
        	 = null;
        	 = null;
        } else {
        	 = Double.valueOf(total.divide(new BigDecimal(numScored), .).doubleValue());
        	 = Double.valueOf(average.divide(new BigDecimal(numScored), .).doubleValue());
			return ;
		public void setAverageScore(Double averageScore)
			this. = averageScore;
New to GrepCode? Check out our FAQ X