Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java,v diff -u -r1.1.2.2 -r1.1.2.3 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java 21 Apr 2009 06:39:50 -0000 1.1.2.2 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java 26 Apr 2009 23:52:22 -0000 1.1.2.3 @@ -18,40 +18,41 @@ * * http://www.gnu.org/licenses/gpl.txt * **************************************************************** - */ - -/* $Id$ */ -package org.lamsfoundation.lams.gradebook.dto; + */ +/* $Id$ */ +package org.lamsfoundation.lams.gradebook.dto; + +import java.text.DecimalFormat; import java.util.ArrayList; import org.lamsfoundation.lams.gradebook.util.GBGridView; - -public abstract class GradebookGridRowDTO{ - + +public abstract class GradebookGridRowDTO { + public abstract ArrayList toStringArray(GBGridView view); - + public static final String CELL_EMPTY = "-"; - + // The id for a row, might be activityId, userId, lessonID etc public String id; - + // The name for the row, every gradebook row has some sort of name // Be it the user's name, the activity name, the lesson name etc public String rowName; - + // A unit of time in milliseconds that determines the time taken for the corressponding task public Long timeTaken; - + // Another unit of time that represents average time taken for a corresponding task public Long averageTimeTaken; - + // The mark for the corresponding gradebook grid row task public Double mark; - + // Average mark for the corresponding task public Double averageMark; - + // Number of marks available where applicable public Long marksAvailable; @@ -66,112 +67,122 @@ if (timeInMillis != null && timeInMillis > 1000) { long totalTimeInSeconds = timeInMillis / 1000; - long seconds = (totalTimeInSeconds >= 60 ? totalTimeInSeconds % 60 : totalTimeInSeconds); - long minutes = (totalTimeInSeconds = (totalTimeInSeconds / 60)) >= 60 ? totalTimeInSeconds % 60 : totalTimeInSeconds; - long hours = (totalTimeInSeconds = (totalTimeInSeconds / 60)) >= 24 ? totalTimeInSeconds % 24 : totalTimeInSeconds; - long days = (totalTimeInSeconds = (totalTimeInSeconds / 24)); + long seconds = (totalTimeInSeconds >= 60 ? totalTimeInSeconds % 60 : totalTimeInSeconds); + long minutes = (totalTimeInSeconds = (totalTimeInSeconds / 60)) >= 60 ? totalTimeInSeconds % 60 + : totalTimeInSeconds; + long hours = (totalTimeInSeconds = (totalTimeInSeconds / 60)) >= 24 ? totalTimeInSeconds % 24 + : totalTimeInSeconds; + long days = (totalTimeInSeconds = (totalTimeInSeconds / 24)); - if (days != 0 ) { sb.append("" + days + "d, "); } - if (hours != 0 ) { sb.append("" + hours + "h, "); } - if (minutes != 0 ) { sb.append("" + minutes + "m, "); } - if (seconds != 0 ) { sb.append("" + seconds + "s"); } + if (days != 0) { + sb.append("" + days + "d, "); + } + if (hours != 0) { + sb.append("" + hours + "h, "); + } + if (minutes != 0) { + sb.append("" + minutes + "m, "); + } + if (seconds != 0) { + sb.append("" + seconds + "s"); + } } - + if (sb.length() > 0) { return sb.toString(); } else { return null; } } - - protected String markToString(){ + + protected String markToString() { if (mark != null) { if (marksAvailable != null) { - return "" + mark.toString() + "/" + marksAvailable.toString() + ""; + return "" + mark.toString() + "/" + marksAvailable.toString() + ""; } else { return mark.toString(); } } else { if (marksAvailable != null) { - return "" + CELL_EMPTY + "/" + marksAvailable.toString() + ""; + return "" + CELL_EMPTY + "/" + marksAvailable.toString() + ""; } else { - + } return CELL_EMPTY; - + } } - + protected String averageMarkToString(){ if (averageMark != null) { + String avgStr = new DecimalFormat("###.00").format(averageMark); if (marksAvailable != null) { - return averageMark.toString() + "/" + marksAvailable.toString(); + return avgStr + "/" + marksAvailable.toString(); } else { - return averageMark.toString(); + return avgStr; } } else { return CELL_EMPTY; } } - + protected String toItalic(String string) { return "" + string + ""; } public Long getTimeTaken() { - return timeTaken; + return timeTaken; } public void setTimeTaken(Long timeTaken) { - this.timeTaken = timeTaken; + this.timeTaken = timeTaken; } public Double getMark() { - return mark; + return mark; } public void setMark(Double mark) { - this.mark = mark; + this.mark = mark; } public String getId() { - return id; + return id; } public void setId(String id) { - this.id = id; + this.id = id; } public String getRowName() { - return rowName; + return rowName; } public void setRowName(String rowName) { - this.rowName = rowName; + this.rowName = rowName; } public Long getAverageTimeTaken() { - return averageTimeTaken; + return averageTimeTaken; } public void setAverageTimeTaken(Long averageTimeTaken) { - this.averageTimeTaken = averageTimeTaken; + this.averageTimeTaken = averageTimeTaken; } public Double getAverageMark() { - return averageMark; + return averageMark; } public void setAverageMark(Double averageMark) { - this.averageMark = averageMark; + this.averageMark = averageMark; } public Long getMarksAvailable() { - return marksAvailable; + return marksAvailable; } public void setMarksAvailable(Long marksAvailable) { - this.marksAvailable = marksAvailable; + this.marksAvailable = marksAvailable; } } -