Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradeBookDAO.java
===================================================================
diff -u -rf4328ca969294c06bf12815f299236c17398c99c -r662af4c9490c6c67127cda6c29d7d806a9e9eaca
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradeBookDAO.java (.../IGradeBookDAO.java) (revision f4328ca969294c06bf12815f299236c17398c99c)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradeBookDAO.java (.../IGradeBookDAO.java) (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -38,6 +38,8 @@
public Double getGradeBookUserActivityMarkSum(Long lessonID, Integer userID);
public List
getAllGradeBookUserActivitiesForActivity(Long activityID);
+
+ public Double getAverageMarkForLesson(Long lessonID);
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradeBookDAO.java
===================================================================
diff -u -rf4328ca969294c06bf12815f299236c17398c99c -r662af4c9490c6c67127cda6c29d7d806a9e9eaca
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradeBookDAO.java (.../GradeBookDAO.java) (revision f4328ca969294c06bf12815f299236c17398c99c)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradeBookDAO.java (.../GradeBookDAO.java) (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -43,50 +43,70 @@
private static final String GET_GRADEBOOK_USER_ACTIVITIES_FOR_ACTIVITY = "from GradeBookUserActivity gact where "
+ "gact.activity.activityId=:activityID";
-
-
+
+ private static final String GET_AVERAGE_MARK_FOR_LESSON = "select avg(gles.mark) from GradeBookUserLesson gles where "
+ + "gles.lesson.lessonId=:lessonID";
+
@SuppressWarnings("unchecked")
public GradeBookUserActivity getGradeBookUserDataForActivity(Long activityID, Integer userID) {
List result = getSession().createQuery(GET_GRADEBOOK_USER_ACTIVITY).setInteger("userID", userID.intValue())
.setLong("activityID", activityID.longValue()).list();
- if (result != null && result.size() > 0) {
- return (GradeBookUserActivity) result.get(0);
- } else {
- return null;
- }
+ if (result != null) {
+ if (result.size() > 0)
+ return (GradeBookUserActivity) result.get(0);
+ }
+
+ return null;
}
@SuppressWarnings("unchecked")
public GradeBookUserLesson getGradeBookUserDataForLesson(Long lessonID, Integer userID) {
List result = getSession().createQuery(GET_GRADEBOOK_USER_LESSON).setInteger("userID", userID.intValue())
.setLong("lessonID", lessonID.longValue()).list();
- if (result != null && result.size() > 0) {
- return (GradeBookUserLesson) result.get(0);
- } else {
- return null;
- }
+ if (result != null) {
+ if (result.size() > 0)
+ return (GradeBookUserLesson) result.get(0);
+ }
+
+ return null;
+
}
@SuppressWarnings("unchecked")
public Double getGradeBookUserActivityMarkSum(Long lessonID, Integer userID) {
List result = getSession().createQuery(GET_GRADEBOOK_ACTIVITIES_FROM_LESSON_SUM).setInteger("userID",
userID.intValue()).setLong("lessonID", lessonID.longValue()).list();
+
+ if (result != null) {
+ if (result.size() > 0)
+ return (Double) result.get(0);
+ }
- if (result != null && result.size() > 0) {
- return (Double) result.get(0);
- } else {
- return 0.0;
- }
+ return 0.0;
+
}
-
+
@SuppressWarnings("unchecked")
public List getAllGradeBookUserActivitiesForActivity(Long activityID) {
- List result = getSession().createQuery(GET_GRADEBOOK_USER_ACTIVITIES_FOR_ACTIVITY)
- .setLong("activityID", activityID.longValue()).list();
-
- return (List)result;
+ List result = getSession().createQuery(GET_GRADEBOOK_USER_ACTIVITIES_FOR_ACTIVITY).setLong("activityID",
+ activityID.longValue()).list();
+
+ return (List) result;
}
+
+ @SuppressWarnings("unchecked")
+ public Double getAverageMarkForLesson(Long lessonID) {
+ List result = getSession().createQuery(GET_AVERAGE_MARK_FOR_LESSON).setLong("lessonID", lessonID.longValue())
+ .list();
+
+ if (result != null) {
+ if (result.size() > 0)
+ return (Double) result.get(0);
+ }
+
+ return 0.0;
+ }
}
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java
===================================================================
diff -u -ra0a70e62ee929b8c7e0529da783a2f232b193a2f -r662af4c9490c6c67127cda6c29d7d806a9e9eaca
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java (.../GBActivityGridRowDTO.java) (revision a0a70e62ee929b8c7e0529da783a2f232b193a2f)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java (.../GBActivityGridRowDTO.java) (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -18,174 +18,166 @@
*
* http://www.gnu.org/licenses/gpl.txt
* ****************************************************************
- */
-
-/* $Id$ */
-package org.lamsfoundation.lams.gradebook.dto;
+ */
+/* $Id$ */
+package org.lamsfoundation.lams.gradebook.dto;
+
import java.util.ArrayList;
-
-public class GBActivityGridRowDTO extends GradeBookGridRowDTO{
+
+public class GBActivityGridRowDTO extends GradeBookGridRowDTO {
+
+ public static final String VIEW_USER = "userView";
+ public static final String VIEW_ACTIVITY = "activityView";
+
long activityId;
String activityTitle;
String competences;
//String toolString;
-
+
// Properties for user view
String status;
String output;
String activityUrl;
//double timeTaken;
- Double mark;
+ Double mark;
String feedback;
-
+
// Properties for activity view
Double average;
String monitorUrl;
-
-
- public GBActivityGridRowDTO() {}
-
- @Override
- public ArrayList toMonitorUserViewStringArray() {
- ArrayList ret = new ArrayList();
-
- ret.add("" + activityId);
-
-
- if (activityUrl != null && activityUrl.length() != 0) {
- ret.add("" +activityTitle +"");
- } else {
- ret.add(activityTitle);
- }
-
-
- ret.add(status);
- ret.add(output);
- ret.add(competences);
-
- ret.add(feedback);
-
- if (mark != null) {
- ret.add(mark.toString());
- } else {
- ret.add("-");
- }
-
-
- return ret;
+
+ public GBActivityGridRowDTO() {
}
-
+
@Override
- public ArrayList toMonitorActViewStringArray() {
+ public ArrayList toStringArray(String view) {
ArrayList ret = new ArrayList();
-
ret.add("" + activityId);
- if (monitorUrl != null && monitorUrl.length() != 0) {
- ret.add("" +activityTitle +"");
- } else {
- ret.add(activityTitle);
- }
+ if (view.equals(VIEW_USER)) {
+ if (activityUrl != null && activityUrl.length() != 0) {
+ ret.add(""
+ + activityTitle + "");
+ } else {
+ ret.add(activityTitle);
+ }
+ ret.add(status);
+ ret.add(output);
+ ret.add(competences);
+ ret.add(feedback);
+ if (mark != null) {
+ ret.add(mark.toString());
+ } else {
+ ret.add("-");
+ }
+
+ } else if (view.equals(VIEW_ACTIVITY)) {
+ if (monitorUrl != null && monitorUrl.length() != 0) {
+ ret.add(""
+ + activityTitle + "");
+ } else {
+ ret.add(activityTitle);
+ }
- ret.add(competences);
-
- if (average != null) {
- ret.add(average.toString());
- } else {
- ret.add("-");
+ ret.add(competences);
+
+ if (average != null) {
+ ret.add(average.toString());
+ } else {
+ ret.add("-");
+ }
}
-
+
return ret;
}
-
+
@Override
public String getRowId() {
return "" + activityId;
}
-
- public int getId(){
+
+ public int getId() {
return new Long(activityId).intValue();
}
public long getActivityId() {
- return activityId;
+ return activityId;
}
public void setActivityId(long activityId) {
- this.activityId = activityId;
+ this.activityId = activityId;
}
public String getActivityTitle() {
- return activityTitle;
+ return activityTitle;
}
public void setActivityTitle(String activityTitle) {
- this.activityTitle = activityTitle;
+ this.activityTitle = activityTitle;
}
public String getStatus() {
- return status;
+ return status;
}
public void setStatus(String status) {
- this.status = status;
+ this.status = status;
}
public String getOutput() {
- return output;
+ return output;
}
public void setOutput(String output) {
- this.output = output;
+ this.output = output;
}
public Double getMark() {
- return mark;
+ return mark;
}
public void setMark(Double mark) {
- this.mark = mark;
+ this.mark = mark;
}
public String getCompetences() {
- return competences;
+ return competences;
}
public void setCompetences(String competences) {
- this.competences = competences;
+ this.competences = competences;
}
public String getActivityUrl() {
- return activityUrl;
+ return activityUrl;
}
public void setActivityUrl(String activityUrl) {
- this.activityUrl = activityUrl;
+ this.activityUrl = activityUrl;
}
public String getFeedback() {
- return feedback;
+ return feedback;
}
public void setFeedback(String feedback) {
- this.feedback = feedback;
+ this.feedback = feedback;
}
public Double getAverage() {
- return average;
+ return average;
}
public void setAverage(Double average) {
- this.average = average;
+ this.average = average;
}
public String getMonitorUrl() {
- return monitorUrl;
+ return monitorUrl;
}
public void setMonitorUrl(String monitorUrl) {
- this.monitorUrl = monitorUrl;
+ this.monitorUrl = monitorUrl;
}
}
-
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBLessonGridRowDTO.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBLessonGridRowDTO.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBLessonGridRowDTO.java (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -0,0 +1,147 @@
+/****************************************************************
+ * Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.gradebook.dto;
+
+import java.util.ArrayList;
+
+public class GBLessonGridRowDTO extends GradeBookGridRowDTO {
+
+ public static final String VIEW_MONITOR = "monitorView";
+ public static final String VIEW_LEARNER = "learnerView";
+
+ Long lessonId;
+ String lessonName;
+ String lessonDescription;
+ Double mark;
+ String subGroup;
+
+ // Only for monitor view
+ String gradeBookMonitorURL;
+
+ // Only for learner view
+ String gradeBookLearnerURL;
+
+
+ public GBLessonGridRowDTO() {
+ }
+
+ @Override
+ public String getRowId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ArrayList toStringArray(String view) {
+ ArrayList ret = new ArrayList();
+
+ ret.add(lessonId.toString());
+
+ if (view.equals(VIEW_MONITOR)) {
+ if (gradeBookMonitorURL != null && gradeBookMonitorURL.length() != 0) {
+ ret.add("" + lessonName
+ + "");
+ } else {
+ ret.add(lessonName);
+ }
+ ret.add(subGroup);
+ ret.add(lessonDescription);
+ if (mark != null) {
+ ret.add(mark.toString());
+ } else {
+ ret.add("-");
+ }
+ } else if (view.equals(VIEW_LEARNER)) {
+ if (gradeBookLearnerURL != null && gradeBookLearnerURL.length() != 0) {
+ ret.add("" + lessonName
+ + "");
+ } else {
+ ret.add(lessonName);
+ }
+ ret.add(lessonDescription);
+ if (mark != null) {
+ ret.add(mark.toString());
+ } else {
+ ret.add("-");
+ }
+ }
+ return ret;
+ }
+
+ public Long getLessonId() {
+ return lessonId;
+ }
+
+ public void setLessonId(Long lessonId) {
+ this.lessonId = lessonId;
+ }
+
+ public String getLessonName() {
+ return lessonName;
+ }
+
+ public void setLessonName(String lessonName) {
+ this.lessonName = lessonName;
+ }
+
+ public String getLessonDescription() {
+ return lessonDescription;
+ }
+
+ public void setLessonDescription(String lessonDescription) {
+ this.lessonDescription = lessonDescription;
+ }
+
+ public Double getMark() {
+ return mark;
+ }
+
+ public void setMark(Double mark) {
+ this.mark = mark;
+ }
+
+ public String getGradeBookMonitorURL() {
+ return gradeBookMonitorURL;
+ }
+
+ public void setGradeBookMonitorURL(String gradeBookMonitorURL) {
+ this.gradeBookMonitorURL = gradeBookMonitorURL;
+ }
+
+ public String getGradeBookLearnerURL() {
+ return gradeBookLearnerURL;
+ }
+
+ public void setGradeBookLearnerURL(String gradeBookLearnerURL) {
+ this.gradeBookLearnerURL = gradeBookLearnerURL;
+ }
+
+ public String getSubGroup() {
+ return subGroup;
+ }
+
+ public void setSubGroup(String subGroup) {
+ this.subGroup = subGroup;
+ }
+}
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java
===================================================================
diff -u -rf4328ca969294c06bf12815f299236c17398c99c -r662af4c9490c6c67127cda6c29d7d806a9e9eaca
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision f4328ca969294c06bf12815f299236c17398c99c)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -26,58 +26,56 @@
import java.util.ArrayList;
public class GBUserGridRowDTO extends GradeBookGridRowDTO {
+
+ public static final String VIEW_USER = "userView";
+ public static final String VIEW_ACTIVITY = "activityView";
+ public static final String VIEW_COURSE_MONITOR = "courseMonitorView";
+
String login;
String firstName;
String lastName;
String status;
String feedback;
-
+
// For user view, this represents total lesson mark in the grid
// For activity view, this represents an activity mark
Double mark;
-
+
// For activity view
String output;
String activityUrl;
-
public GBUserGridRowDTO() {
}
-
+
@Override
- public ArrayList toMonitorUserViewStringArray() {
+ public ArrayList toStringArray(String view) {
ArrayList ret = new ArrayList();
+ String fullName = lastName + " " + firstName;
ret.add(login);
- ret.add(lastName + " " + firstName);
- ret.add(status);
- ret.add(feedback);
- if (mark != null) {
- ret.add(mark.toString());
- } else {
- ret.add("-");
- }
+ if (view.equals(VIEW_USER)) {
+ ret.add(fullName);
+ ret.add(status);
+ ret.add(feedback);
+ } else if (view.equals(VIEW_ACTIVITY)) {
+ if (activityUrl != null && activityUrl.length() != 0) {
+ ret.add("" + fullName
+ + "");
+ } else {
+ ret.add(fullName);
+ }
- return ret;
- }
-
- @Override
- public ArrayList toMonitorActViewStringArray() {
- ArrayList ret = new ArrayList();
-
- ret.add(login);
-
- String fullName = lastName + " " + firstName;
- if (activityUrl != null && activityUrl.length() != 0) {
- ret.add("" +fullName +"");
- } else {
- ret.add(login);
+ ret.add(status);
+ ret.add(output);
+ ret.add(feedback);
+ } else if (view.equals(VIEW_COURSE_MONITOR)){
+ ret.add(fullName);
+ ret.add(status);
+ ret.add(feedback);
+
}
-
- ret.add(status);
- ret.add(output);
- ret.add(feedback);
if (mark != null) {
ret.add(mark.toString());
@@ -102,58 +100,58 @@
}
public String getLogin() {
- return login;
+ return login;
}
public void setLogin(String login) {
- this.login = login;
+ this.login = login;
}
public String getFirstName() {
- return firstName;
+ return firstName;
}
public void setFirstName(String firstName) {
- this.firstName = firstName;
+ this.firstName = firstName;
}
public String getLastName() {
- return lastName;
+ return lastName;
}
public void setLastName(String lastName) {
- this.lastName = lastName;
+ this.lastName = lastName;
}
public String getStatus() {
- return status;
+ return status;
}
public void setStatus(String status) {
- this.status = status;
+ this.status = status;
}
-
+
public String getFeedback() {
- return feedback;
+ return feedback;
}
public void setFeedback(String feedback) {
- this.feedback = feedback;
+ this.feedback = feedback;
}
public String getOutput() {
- return output;
+ return output;
}
public void setOutput(String output) {
- this.output = output;
+ this.output = output;
}
public String getActivityUrl() {
- return activityUrl;
+ return activityUrl;
}
public void setActivityUrl(String activityUrl) {
- this.activityUrl = activityUrl;
+ this.activityUrl = activityUrl;
}
}
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GradeBookGridRowDTO.java
===================================================================
diff -u -rf4328ca969294c06bf12815f299236c17398c99c -r662af4c9490c6c67127cda6c29d7d806a9e9eaca
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GradeBookGridRowDTO.java (.../GradeBookGridRowDTO.java) (revision f4328ca969294c06bf12815f299236c17398c99c)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/GradeBookGridRowDTO.java (.../GradeBookGridRowDTO.java) (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -27,10 +27,8 @@
public abstract class GradeBookGridRowDTO{
- public abstract ArrayList toMonitorUserViewStringArray();
+ public abstract ArrayList toStringArray(String view);
- public abstract ArrayList toMonitorActViewStringArray();
-
public abstract String getRowId();
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonMarkComparator.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonMarkComparator.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonMarkComparator.java (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -0,0 +1,47 @@
+/****************************************************************
+ * Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.gradebook.dto.comparators;
+
+import java.util.Comparator;
+
+import org.lamsfoundation.lams.gradebook.dto.GBLessonGridRowDTO;
+
+@SuppressWarnings("unchecked")
+public class GBLessonMarkComparator implements Comparator {
+
+ public int compare(Object gbLessonRowDTO, Object anotherGbLessonRowDTO) {
+
+ if (gbLessonRowDTO instanceof GBLessonGridRowDTO && anotherGbLessonRowDTO instanceof GBLessonGridRowDTO) {
+
+ Double mark1 = ((GBLessonGridRowDTO) gbLessonRowDTO).getMark();
+ Double mark2 = ((GBLessonGridRowDTO) anotherGbLessonRowDTO).getMark();
+
+ mark1 = (mark1 == null) ? 0.0 : mark1;
+ mark2 = (mark2 == null) ? 0.0 : mark2;
+ return new Double(mark1 - mark2).intValue();
+ } else {
+ return 0;
+ }
+ }
+}
Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonNameComparator.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonNameComparator.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBLessonNameComparator.java (revision 662af4c9490c6c67127cda6c29d7d806a9e9eaca)
@@ -0,0 +1,45 @@
+/****************************************************************
+ * Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.gradebook.dto.comparators;
+
+import java.util.Comparator;
+
+import org.lamsfoundation.lams.gradebook.dto.GBLessonGridRowDTO;
+
+@SuppressWarnings("unchecked")
+public class GBLessonNameComparator implements Comparator {
+
+ public int compare(Object gbLessonRowDTO, Object anotherGbLessonRowDTO) {
+
+ if (gbLessonRowDTO instanceof GBLessonGridRowDTO && anotherGbLessonRowDTO instanceof GBLessonGridRowDTO) {
+
+ String name1 = ((GBLessonGridRowDTO)gbLessonRowDTO).getLessonName();
+ String name2 = ((GBLessonGridRowDTO)anotherGbLessonRowDTO).getLessonName();
+
+ return name1.compareTo(name2);
+ } else {
+ return 0;
+ }
+ }
+}