Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml,v
diff -u -r1.3 -r1.4
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml 1 Jul 2009 02:46:53 -0000 1.3
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml 6 Sep 2012 16:03:19 -0000 1.4
@@ -28,6 +28,7 @@
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
+ PROPAGATION_REQUIRED,readOnly
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java,v
diff -u -r1.25 -r1.26
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 6 Sep 2012 10:19:19 -0000 1.25
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 6 Sep 2012 16:03:19 -0000 1.26
@@ -30,6 +30,7 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
@@ -494,7 +495,7 @@
return lessonRows;
}
- public HashMap> getDataForExcelLessonGradebook(Lesson lesson) {
+ private HashMap> getDataForLessonGradebookExport(Lesson lesson) {
HashMap> activityToUserDTOMap = new HashMap>();
@@ -551,7 +552,6 @@
if (gradebookUserActivity != null) {
userDTO.setFeedback(gradebookUserActivity.getFeedback());
userDTO.setMark(gradebookUserActivity.getMark());
-
}
userDTOs.add(userDTO);
}
@@ -560,62 +560,139 @@
return activityToUserDTOMap;
}
+
- @SuppressWarnings("unchecked")
- public ExcelCell[][] getActivityViewDataForExcel(HashMap> activityToUserDTOMap) {
- ExcelCell[][] data = null;
-
+ @SuppressWarnings("unchecked")
+ public LinkedHashMap exportLessonGradebook(Lesson lesson) {
+
+ LinkedHashMap dataToExport = new LinkedHashMap();
+
+ //-------------------- process summary excel page --------------------------------
+
+ // The entire data list
List rowList = new LinkedList();
+ // Adding the lesson average data to the summary
+ ExcelCell[] lessonAverageMark = new ExcelCell[2];
+ lessonAverageMark[0] = new ExcelCell(getMessage("gradebook.export.average.lesson.mark"), true);
+ lessonAverageMark[1] = new ExcelCell(getAverageMarkForLesson(lesson.getLessonId()), false);
+ rowList.add(lessonAverageMark);
+
+ ExcelCell[] lessonAverageTimeTaken = new ExcelCell[2];
+ lessonAverageTimeTaken[0] = new ExcelCell(getMessage("gradebook.export.average.lesson.time.taken"), true);
+ lessonAverageTimeTaken[1] = new ExcelCell(gradebookDAO.getAverageDurationLesson(lesson.getLessonId()) / 1000,
+ false);
+ rowList.add(lessonAverageTimeTaken);
+ rowList.add(EMPTY_ROW);
+
+ // Adding the activity average data to the summary
+ List activityRows = getGBActivityRowsForLesson(lesson);
+ ExcelCell[] activityAverageTitle = new ExcelCell[1];
+ activityAverageTitle[0] = new ExcelCell(getMessage("gradebook.export.activities"), true);
+ rowList.add(activityAverageTitle);
+
+ // Setting up the activity summary table
+ ExcelCell[] activityAverageRow = new ExcelCell[4];
+ activityAverageRow[0] = new ExcelCell(getMessage("gradebook.export.activity"), true);
+ activityAverageRow[1] = new ExcelCell(getMessage("gradebook.columntitle.competences"), true);
+ activityAverageRow[2] = new ExcelCell(getMessage("gradebook.export.average.time.taken.seconds"), true);
+ activityAverageRow[3] = new ExcelCell(getMessage("gradebook.columntitle.averageMark"), true);
+ rowList.add(activityAverageRow);
+
+ Iterator it = activityRows.iterator();
+ while (it.hasNext()) {
+ GBActivityGridRowDTO activityRow = (GBActivityGridRowDTO) it.next();
+ // Add the activity average data
+ ExcelCell[] activityDataRow = new ExcelCell[4];
+ activityDataRow[0] = new ExcelCell(activityRow.getRowName(), false);
+ activityDataRow[1] = new ExcelCell(activityRow.getCompetences(), false);
+ activityDataRow[2] = new ExcelCell(activityRow.getAverageTimeTakenSeconds(), false);
+ activityDataRow[3] = new ExcelCell(activityRow.getAverageMark(), false);
+ rowList.add(activityDataRow);
+ }
+ rowList.add(EMPTY_ROW);
+
+ // Adding the user lesson marks to the summary
+ ExcelCell[] userMarksTitle = new ExcelCell[1];
+ userMarksTitle[0] = new ExcelCell(getMessage("gradebook.export.total.marks.for.lesson"), true);
+ rowList.add(userMarksTitle);
+
+ // Fetching the user data
+ ArrayList userRows = getGBUserRowsForLesson(lesson);
+
+ // Setting up the user marks table
+ ExcelCell[] userTitleRow = new ExcelCell[5];
+ userTitleRow[0] = new ExcelCell(getMessage("gradebook.export.last.name"), true);
+ userTitleRow[1] = new ExcelCell(getMessage("gradebook.export.first.name"), true);
+ userTitleRow[2] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true);
+ userTitleRow[3] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
+ userTitleRow[4] = new ExcelCell(getMessage("gradebook.export.total.mark"), true);
+ rowList.add(userTitleRow);
+
+ for (GBUserGridRowDTO userRow : userRows) {
+ // Adding the user data for the lesson
+ ExcelCell[] userDataRow = new ExcelCell[5];
+ userDataRow[0] = new ExcelCell(userRow.getLastName(), false);
+ userDataRow[1] = new ExcelCell(userRow.getFirstName(), false);
+ userDataRow[2] = new ExcelCell(getProgressMessage(userRow), false);
+ userDataRow[3] = new ExcelCell(userRow.getTimeTakenSeconds(), false);
+ userDataRow[4] = new ExcelCell(userRow.getMark(), false);
+ rowList.add(userDataRow);
+ }
+
+ ExcelCell[][] summaryData = rowList.toArray(new ExcelCell[][] {});
+ dataToExport.put(getMessage("gradebook.export.lesson.summary"), summaryData);
+
+ //-------------------- process activity excel page --------------------------------
+
+ HashMap> activityToUserDTOMap = getDataForLessonGradebookExport(lesson);
+ List rowList1 = new LinkedList();
+
for (Activity activity : activityToUserDTOMap.keySet()) {
ExcelCell[] activityTitleRow = new ExcelCell[5];
activityTitleRow[0] = new ExcelCell(activity.getTitle(), true);
- rowList.add(activityTitleRow);
+ rowList1.add(activityTitleRow);
ExcelCell[] titleRow = new ExcelCell[5];
titleRow[0] = new ExcelCell(getMessage("gradebook.export.last.name"), true);
titleRow[1] = new ExcelCell(getMessage("gradebook.export.first.name"), true);
titleRow[2] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
titleRow[3] = new ExcelCell(getMessage("gradebook.export.outputs"), true);
titleRow[4] = new ExcelCell(getMessage("gradebook.columntitle.mark"), true);
- rowList.add(titleRow);
+ rowList1.add(titleRow);
// Get the rest of the data
- List userRows = activityToUserDTOMap.get(activity);
- for (GBUserGridRowDTO userRow : userRows) {
+ List userRows2 = activityToUserDTOMap.get(activity);
+ for (GBUserGridRowDTO userRow : userRows2) {
ExcelCell[] userDataRow = new ExcelCell[5];
userDataRow[0] = new ExcelCell(userRow.getLastName(), false);
userDataRow[1] = new ExcelCell(userRow.getFirstName(), false);
userDataRow[2] = new ExcelCell(userRow.getTimeTakenSeconds(), false);
userDataRow[3] = new ExcelCell(userRow.getOutput(), false);
userDataRow[4] = new ExcelCell(userRow.getMark(), false);
- rowList.add(userDataRow);
+ rowList1.add(userDataRow);
}
- rowList.add(EMPTY_ROW);
+ rowList1.add(EMPTY_ROW);
}
- data = rowList.toArray(new ExcelCell[][] {});
+ ExcelCell[][] activityData = rowList1.toArray(new ExcelCell[][] {});
+ dataToExport.put(getMessage("gradebook.gridtitle.activitygrid"), activityData);
- return data;
- }
-
- @SuppressWarnings("unchecked")
- public ExcelCell[][] getUserViewDataForExcel(HashMap> activityToUserDTOMap, Lesson lesson) {
+ //-------------------- process user excel page --------------------------------
+
Set learners = lesson.getAllLearners();
if (learners == null) {
learners = new TreeSet();
}
- ExcelCell[][] data = null;
- List rowList = new LinkedList();
+ LinkedList rowList2 = new LinkedList();
for (User learner : learners) {
List activityDTOs = new ArrayList();
for (ToolActivity activity : activityToUserDTOMap.keySet()) {
-
List userDTOs = activityToUserDTOMap.get(activity);
GBUserGridRowDTO userDTO = null;
for (GBUserGridRowDTO dbUserDTO:userDTOs) {
@@ -648,121 +725,42 @@
ExcelCell[] activityTitleRow = new ExcelCell[4];
activityTitleRow[0] = new ExcelCell(learner.getFullName(), true);
- rowList.add(activityTitleRow);
+ rowList2.add(activityTitleRow);
ExcelCell[] titleRow = new ExcelCell[4];
titleRow[0] = new ExcelCell(getMessage("gradebook.export.activity"), true);
titleRow[1] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
titleRow[2] = new ExcelCell(getMessage("gradebook.export.outputs"), true);
titleRow[3] = new ExcelCell(getMessage("gradebook.columntitle.mark"), true);
- rowList.add(titleRow);
+ rowList2.add(titleRow);
for (GBActivityGridRowDTO activityRow : activityDTOs) {
ExcelCell[] activityDataRow = new ExcelCell[4];
activityDataRow[0] = new ExcelCell(activityRow.getRowName(), false);
activityDataRow[1] = new ExcelCell(activityRow.getTimeTakenSeconds(), false);
activityDataRow[2] = new ExcelCell(activityRow.getOutput(), false);
activityDataRow[3] = new ExcelCell(activityRow.getMark(), false);
- rowList.add(activityDataRow);
+ rowList2.add(activityDataRow);
}
- rowList.add(EMPTY_ROW);
+ rowList2.add(EMPTY_ROW);
}
- data = rowList.toArray(new ExcelCell[][] {});
- return data;
+ ExcelCell[][] userData = rowList2.toArray(new ExcelCell[][] {});
+ dataToExport.put(getMessage("gradebook.export.learner.view"), userData);
+
+ return dataToExport;
}
-
- @SuppressWarnings("unchecked")
- public ExcelCell[][] getSummaryDataForExcel(Lesson lesson) {
- ExcelCell[][] data = null;
- if (lesson != null) {
-
- // The entire data list
- List rowList = new LinkedList();
-
- // Adding the lesson average data to the summary -------------------
- ExcelCell[] lessonAverageMark = new ExcelCell[2];
- lessonAverageMark[0] = new ExcelCell(getMessage("gradebook.export.average.lesson.mark"), true);
- lessonAverageMark[1] = new ExcelCell(getAverageMarkForLesson(lesson.getLessonId()), false);
- rowList.add(lessonAverageMark);
-
- ExcelCell[] lessonAverageTimeTaken = new ExcelCell[2];
- lessonAverageTimeTaken[0] = new ExcelCell(getMessage("gradebook.export.average.lesson.time.taken"), true);
- lessonAverageTimeTaken[1] = new ExcelCell(gradebookDAO.getAverageDurationLesson(lesson.getLessonId())/1000, false);
- rowList.add(lessonAverageTimeTaken);
- rowList.add(EMPTY_ROW);
- // ------------------------------------------------------------------
-
- // Adding the activity average data to the summary -----------------
- List activityRows = getGBActivityRowsForLesson(lesson);
- ExcelCell[] activityAverageTitle = new ExcelCell[1];
- activityAverageTitle[0] = new ExcelCell(getMessage("gradebook.export.activities"), true);
- rowList.add(activityAverageTitle);
-
- // Setting up the activity summary table
- ExcelCell[] activityAverageRow = new ExcelCell[4];
- activityAverageRow[0] = new ExcelCell(getMessage("gradebook.export.activity"), true);
- activityAverageRow[1] = new ExcelCell(getMessage("gradebook.columntitle.competences"), true);
- activityAverageRow[2] = new ExcelCell(getMessage("gradebook.export.average.time.taken.seconds"), true);
- activityAverageRow[3] = new ExcelCell(getMessage("gradebook.columntitle.averageMark"), true);
- rowList.add(activityAverageRow);
-
- Iterator it = activityRows.iterator();
- while (it.hasNext()) {
- GBActivityGridRowDTO activityRow = (GBActivityGridRowDTO) it.next();
- // Add the activity average data
- ExcelCell[] activityDataRow = new ExcelCell[4];
- activityDataRow[0] = new ExcelCell(activityRow.getRowName(), false);
- activityDataRow[1] = new ExcelCell(activityRow.getCompetences(), false);
- activityDataRow[2] = new ExcelCell(activityRow.getAverageTimeTakenSeconds(), false);
- activityDataRow[3] = new ExcelCell(activityRow.getAverageMark(), false);
- rowList.add(activityDataRow);
- }
- rowList.add(EMPTY_ROW);
- // ------------------------------------------------------------------
-
- // Adding the user lesson marks to the summary----------------------
- ExcelCell[] userMarksTitle = new ExcelCell[1];
- userMarksTitle[0] = new ExcelCell(getMessage("gradebook.export.total.marks.for.lesson"), true);
- rowList.add(userMarksTitle);
-
- // Fetching the user data
- ArrayList userRows = getGBUserRowsForLesson(lesson);
-
- // Setting up the user marks table
- ExcelCell[] userTitleRow = new ExcelCell[5];
- userTitleRow[0] = new ExcelCell(getMessage("gradebook.export.last.name"), true);
- userTitleRow[1] = new ExcelCell(getMessage("gradebook.export.first.name"), true);
- userTitleRow[2] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true);
- userTitleRow[3] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
- userTitleRow[4] = new ExcelCell(getMessage("gradebook.export.total.mark"), true);
- rowList.add(userTitleRow);
-
- for (GBUserGridRowDTO userRow : userRows) {
- // Adding the user data for the lesson
- ExcelCell[] userDataRow = new ExcelCell[5];
- userDataRow[0] = new ExcelCell(userRow.getLastName(), false);
- userDataRow[1] = new ExcelCell(userRow.getFirstName(), false);
- userDataRow[2] = new ExcelCell(getProgressMessage(userRow), false);
- userDataRow[3] = new ExcelCell(userRow.getTimeTakenSeconds(), false);
- userDataRow[4] = new ExcelCell(userRow.getMark(), false);
- rowList.add(userDataRow);
- }
- // ------------------------------------------------------------------
-
- data = rowList.toArray(new ExcelCell[][] {});
-
- }
- return data;
- }
@SuppressWarnings("unchecked")
- public ExcelCell[][] getCourseDataForExcel(Integer userId, Integer organisationId) {
+ public LinkedHashMap exportCourseGradebook(Integer userId, Integer organisationId) {
+ LinkedHashMap dataToExport = new LinkedHashMap();
+
Organisation organisation = (Organisation) baseDAO.find(Organisation.class, organisationId);
// The entire data list
List rowList = new LinkedList();
+
User user = (User) getUserService().findById(User.class, userId);
Set lessonsFromDB = new TreeSet(new LessonComparator());
@@ -781,65 +779,66 @@
lessons.add(lesson);
}
- if (lessons == null || (lessons.size() == 0)) {
- return rowList.toArray(new ExcelCell[][] {});
- }
-
- //collect users from all lessons
- Set allLearners = new LinkedHashSet();
- for (Lesson lesson : lessons) {
- Set dbLessonUsers = lesson.getAllLearners();
- allLearners.addAll(dbLessonUsers);
- }
-
- int numberOfCellsInARow = 2 + lessons.size()*4;
-
- // Adding the user lesson marks to the summary----------------------
- ExcelCell[] lessonsNames = new ExcelCell[numberOfCellsInARow];
- int i = 0;
- lessonsNames[i++] = new ExcelCell("", false);
- lessonsNames[i++] = new ExcelCell("", false);
- for (Lesson lesson : lessons) {
- lessonsNames[i++] = new ExcelCell(messageService.getMessage("gradebook.exportcourse.lesson",
- new Object[] { lesson.getLessonName() }), true);
+ if (lessons != null && (lessons.size() > 0)) {
+
+ // collect users from all lessons
+ Set allLearners = new LinkedHashSet();
+ for (Lesson lesson : lessons) {
+ Set dbLessonUsers = lesson.getAllLearners();
+ allLearners.addAll(dbLessonUsers);
+ }
+
+ int numberOfCellsInARow = 2 + lessons.size() * 4;
+
+ // Adding the user lesson marks to the summary----------------------
+ ExcelCell[] lessonsNames = new ExcelCell[numberOfCellsInARow];
+ int i = 0;
lessonsNames[i++] = new ExcelCell("", false);
lessonsNames[i++] = new ExcelCell("", false);
- lessonsNames[i++] = new ExcelCell("", false);
- }
- rowList.add(lessonsNames);
-
- // Setting up the user marks table
- ExcelCell[] headerRow = new ExcelCell[numberOfCellsInARow];
- i = 0;
- headerRow[i++] = new ExcelCell(getMessage("gradebook.export.last.name"), true);
- headerRow[i++] = new ExcelCell(getMessage("gradebook.export.first.name"), true);
- for (Lesson lesson : lessons) {
- headerRow[i++] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true);
- headerRow[i++] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
- headerRow[i++] = new ExcelCell(getMessage("gradebook.exportcourse.lessonFeedback"), true);
- headerRow[i++] = new ExcelCell(getMessage("gradebook.export.total.mark"), true);
- }
- rowList.add(headerRow);
-
- for (User learner : allLearners) {
- // Fetching the user data
- List userRows = getGBUserRowsForUser(learner, lessons, organisationId);
+ for (Lesson lesson : lessons) {
+ lessonsNames[i++] = new ExcelCell(messageService.getMessage("gradebook.exportcourse.lesson",
+ new Object[] { lesson.getLessonName() }), true);
+ lessonsNames[i++] = new ExcelCell("", false);
+ lessonsNames[i++] = new ExcelCell("", false);
+ lessonsNames[i++] = new ExcelCell("", false);
+ }
+ rowList.add(lessonsNames);
+
+ // Setting up the user marks table
+ ExcelCell[] headerRow = new ExcelCell[numberOfCellsInARow];
i = 0;
- ExcelCell[] userDataRow = new ExcelCell[numberOfCellsInARow];
- userDataRow[i++] = new ExcelCell(learner.getLastName(), false);
- userDataRow[i++] = new ExcelCell(learner.getFirstName(), false);
-
- for (GBUserGridRowDTO userRow : userRows) {
- userDataRow[i++] = new ExcelCell(getProgressMessage(userRow), false);
- userDataRow[i++] = new ExcelCell(userRow.getTimeTakenSeconds(), false);
- userDataRow[i++] = new ExcelCell(userRow.getFeedback(), false);
- userDataRow[i++] = new ExcelCell(userRow.getMark(), false);
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.export.last.name"), true);
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.export.first.name"), true);
+ for (Lesson lesson : lessons) {
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true);
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true);
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.exportcourse.lessonFeedback"), true);
+ headerRow[i++] = new ExcelCell(getMessage("gradebook.export.total.mark"), true);
}
+ rowList.add(headerRow);
- rowList.add(userDataRow);
+ for (User learner : allLearners) {
+ // Fetching the user data
+ List userRows = getGBUserRowsForUser(learner, lessons, organisationId);
+ i = 0;
+ ExcelCell[] userDataRow = new ExcelCell[numberOfCellsInARow];
+ userDataRow[i++] = new ExcelCell(learner.getLastName(), false);
+ userDataRow[i++] = new ExcelCell(learner.getFirstName(), false);
+
+ for (GBUserGridRowDTO userRow : userRows) {
+ userDataRow[i++] = new ExcelCell(getProgressMessage(userRow), false);
+ userDataRow[i++] = new ExcelCell(userRow.getTimeTakenSeconds(), false);
+ userDataRow[i++] = new ExcelCell(userRow.getFeedback(), false);
+ userDataRow[i++] = new ExcelCell(userRow.getMark(), false);
+ }
+
+ rowList.add(userDataRow);
+ }
}
- return rowList.toArray(new ExcelCell[][] {});
+ ExcelCell[][] summaryData = rowList.toArray(new ExcelCell[][] {});
+ dataToExport.put(getMessage("gradebook.exportcourse.course.summary"), summaryData);
+ return dataToExport;
}
public void updateActivityMark(Double mark, String feedback, Integer userID, Long toolSessionID,
@@ -1263,12 +1262,9 @@
List gradebookUserActivityList = baseDAO.find(query, new Object[] { activity.getActivityId() });
if (gradebookUserActivityList != null && gradebookUserActivityList.size() > 0) {
- MultiKeyMap aa = new MultiKeyMap();
-
Map map = new HashMap();
for (GradebookUserActivity gradebookUserActivity : gradebookUserActivityList) {
map.put(gradebookUserActivity.getLearner().getUserId(), gradebookUserActivity);
- aa.put(gradebookUserActivity.getLearner().getUserId(), gradebookUserActivity.getLearner().getUserId(), gradebookUserActivity);
}
return map;
}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java,v
diff -u -r1.6 -r1.7
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java 6 Sep 2012 10:19:19 -0000 1.6
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java 6 Sep 2012 16:03:19 -0000 1.7
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import org.lamsfoundation.lams.gradebook.GradebookUserActivity;
@@ -41,17 +42,15 @@
import org.lamsfoundation.lams.usermanagement.User;
public interface IGradebookService {
-
-
/**
* Gets all the activity rows for a lesson, with the mark for each activity
* being the average for all users in the lesson
*
* @param lesson
* @return
*/
- public List getGBActivityRowsForLesson(Lesson lesson);
+ List getGBActivityRowsForLesson(Lesson lesson);
/**
* Gets all the activity rows for a user, with the mark for the activity
@@ -61,7 +60,7 @@
* @param learner
* @return
*/
- public List getGBActivityRowsForLearner(Lesson lesson, User learner);
+ List getGBActivityRowsForLearner(Lesson lesson, User learner);
/**
* Gets the GBActivityDTO list for an activity, which provides the marks
@@ -72,15 +71,15 @@
* @param groupId
* @return
*/
- public List getGBUserRowsForActivity(Lesson lesson, ToolActivity activity, Long groupId);
+ List getGBUserRowsForActivity(Lesson lesson, ToolActivity activity, Long groupId);
/**
* Gets the user rows and the user's entire lesson mark for all users
* in a lesson
* @param lesson
* @return
*/
- public List getGBUserRowsForLesson(Lesson lesson);
+ List getGBUserRowsForLesson(Lesson lesson);
/**
* Gets the user rows for specified organisation
@@ -98,7 +97,7 @@
* @param learner
* @param mark
*/
- public void updateUserLessonGradebookMark(Lesson lesson, User learner, Double mark);
+ void updateUserLessonGradebookMark(Lesson lesson, User learner, Double mark);
/**
* Updates a user's activity mark, this will automatically add up all the
@@ -109,7 +108,7 @@
* @param activity
* @param mark
*/
- public void updateUserActivityGradebookMark(Lesson lesson, User learner, Activity activity, Double mark, Boolean markedInGradebook);
+ void updateUserActivityGradebookMark(Lesson lesson, User learner, Activity activity, Double mark, Boolean markedInGradebook);
/**
* Updates the user's feedback for an activity
@@ -118,7 +117,7 @@
* @param learner
* @param feedback
*/
- public void updateUserActivityGradebookFeedback(Activity activity, User learner, String feedback);
+ void updateUserActivityGradebookFeedback(Activity activity, User learner, String feedback);
/**
* Updates the user's feedback for a lesson
@@ -127,7 +126,7 @@
* @param learner
* @param feedback
*/
- public void updateUserLessonGradebookFeedback(Lesson lesson, User learner, String feedback);
+ void updateUserLessonGradebookFeedback(Lesson lesson, User learner, String feedback);
/**
* Gets the lesson row dtos for a given organisation
@@ -138,7 +137,7 @@
* @param view
* @return
*/
- public List getGBLessonRows(Organisation organisation, User user, User viewer, GBGridView view);
+ List getGBLessonRows(Organisation organisation, User user, User viewer, GBGridView view);
/**
* Gets a gradebook lesson mark/feedback for a given user and lesson
@@ -147,7 +146,7 @@
* @param userID
* @return
*/
- public GradebookUserLesson getGradebookUserLesson(Long lessonID, Integer userID);
+ GradebookUserLesson getGradebookUserLesson(Long lessonID, Integer userID);
/**
* Gets a gradebook activity mark/feedback for a given activity and user
@@ -156,23 +155,23 @@
* @param userID
* @return
*/
- public GradebookUserActivity getGradebookUserActivity(Long activityID, Integer userID);
+ GradebookUserActivity getGradebookUserActivity(Long activityID, Integer userID);
/**
* Returns the average mark for a given activity
*
* @param activityID
* @return
*/
- public Double getAverageMarkForActivity(Long activityID);
+ Double getAverageMarkForActivity(Long activityID);
/**
* Returns the average mark for a lesson
*
* @param lessonID
* @return
*/
- public Double getAverageMarkForLesson(Long lessonID);
+ Double getAverageMarkForLesson(Long lessonID);
/**
* Method for updating an activity mark that tools can call
@@ -182,43 +181,29 @@
* @param userID
* @param toolSessionID
*/
- public void updateActivityMark(Double mark, String feedback, Integer userID, Long toolSessionID, Boolean markedInGradebook);
+ void updateActivityMark(Double mark, String feedback, Integer userID, Long toolSessionID, Boolean markedInGradebook);
/**
* Get an activity from the db by id
*
* @param activityID
* @return
*/
- public Activity getActivityById(Long activityID);
+ Activity getActivityById(Long activityID);
/**
* Get a language label
* @param key
* @return
*/
- public String getMessage(String key);
+ String getMessage(String key);
/**
- * Get the activity view data in 2d array format for an excel export
- * @param lesson
- * @return
- */
- public ExcelCell[][] getActivityViewDataForExcel(HashMap> activityToUserDTOMap);
-
- /**
- * Get the user view data in a 2d array format for an excel export
- * @param lesson
- * @return
- */
- public ExcelCell[][] getUserViewDataForExcel(HashMap> activityToUserDTOMap, Lesson lesson);
-
- /**
* Get the summary data in a 2s array for an excel export
* @param lesson
* @return
*/
- public ExcelCell[][] getSummaryDataForExcel(Lesson lesson);
+ LinkedHashMap exportLessonGradebook(Lesson lesson);
/**
* Get the summary data for course for an excel export
@@ -227,8 +212,6 @@
* @param organisationId
* @return
*/
- ExcelCell[][] getCourseDataForExcel(Integer userId, Integer organisationId);
-
- HashMap> getDataForExcelLessonGradebook(Lesson lesson);
+ LinkedHashMap exportCourseGradebook(Integer userId, Integer organisationId);
}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java,v
diff -u -r1.11 -r1.12
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java 6 Sep 2012 10:19:19 -0000 1.11
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java 6 Sep 2012 16:03:19 -0000 1.12
@@ -294,46 +294,44 @@
return null;
}
- /**
- * Exports Lesson Gradebook into excel.
- */
- public ActionForward exportExcelLessonGradebook(ActionMapping mapping, ActionForm form, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ /**
+ * Exports Lesson Gradebook into excel.
+ */
+ public ActionForward exportExcelLessonGradebook(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response) throws Exception {
- initServices();
+ initServices();
- Long lessonID = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID);
- Lesson lesson = lessonService.getLesson(lessonID);
+ Long lessonID = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID);
+ Lesson lesson = lessonService.getLesson(lessonID);
- if (lesson != null) {
- String fileName = lesson.getLessonName().replaceAll(" ", "_") + ".xlsx";
- fileName = FileUtil.encodeFilenameForDownload(request, fileName);
-
- response.setContentType("application/x-download");
- response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
- logger.debug("Exporting to a spreadsheet gradebook lesson: " + lessonID);
- ServletOutputStream out = response.getOutputStream();
+ if (lesson == null) {
+ String errorMsg = "Attempt to retrieve gradebook data for null lesson";
+ logger.error(errorMsg);
+ throw new Exception(errorMsg);
+ }
+
+ String fileName = lesson.getLessonName().replaceAll(" ", "_") + ".xlsx";
+ fileName = FileUtil.encodeFilenameForDownload(request, fileName);
- LinkedHashMap dataToExport = new LinkedHashMap();
+ response.setContentType("application/x-download");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+ logger.debug("Exporting to a spreadsheet gradebook lesson: " + lessonID);
+ ServletOutputStream out = response.getOutputStream();
- ExcelCell[][] summaryData = gradebookService.getSummaryDataForExcel(lesson);
- dataToExport.put(gradebookService.getMessage("gradebook.export.lesson.summary"), summaryData);
+ LinkedHashMap dataToExport = gradebookService.exportLessonGradebook(lesson);
- HashMap> data = gradebookService.getDataForExcelLessonGradebook(lesson);
- ExcelCell[][] activityData = gradebookService.getActivityViewDataForExcel(data);
- dataToExport.put(gradebookService.getMessage("gradebook.gridtitle.activitygrid"), activityData);
+ // set cookie that will tell JS script that export has been finished
+ String downloadTokenValue = WebUtil.readStrParam(request, "downloadTokenValue");
+ Cookie fileDownloadTokenCookie = new Cookie("fileDownloadToken", downloadTokenValue);
+ fileDownloadTokenCookie.setPath("/");
+ response.addCookie(fileDownloadTokenCookie);
- ExcelCell[][] userData = gradebookService.getUserViewDataForExcel(data, lesson);
- dataToExport.put(gradebookService.getMessage("gradebook.export.learner.view"), userData);
+ GradebookUtil.exportGradebookLessonToExcel(out, gradebookService.getMessage("gradebook.export.dateheader"),
+ dataToExport);
- GradebookUtil.exportGradebookLessonToExcel(out, gradebookService.getMessage("gradebook.export.dateheader"),
- dataToExport);
-
- } else {
- throw new Exception("Attempt to retrieve gradebook data for null lesson");
- }
- return null;
- }
+ return null;
+ }
/**
* Exports Course Gradebook into excel.
@@ -347,24 +345,23 @@
Organisation organisation = (Organisation) userService.findById(Organisation.class, oranisationID);
if (organisation == null || user == null) {
- logger.error("Organisation " + oranisationID + " does not exist or user is null. Unable to load gradebook");
- return mapping.findForward("error");
+ String errorMsg = "Organisation " + oranisationID + " does not exist or user is null. Unable to load gradebook";
+ logger.error(errorMsg);
+ throw new Exception(errorMsg);
}
Integer organisationId = organisation.getOrganisationId();
logger.debug("Exporting to a spreadsheet course: " + organisationId);
- LinkedHashMap dataToExport = new LinkedHashMap();
- ExcelCell[][] summaryData = gradebookService.getCourseDataForExcel(user.getUserId(), organisationId);
- dataToExport.put(gradebookService.getMessage("gradebook.exportcourse.course.summary"), summaryData);
+ LinkedHashMap dataToExport = gradebookService.exportCourseGradebook(user.getUserId(), organisationId);
String fileName = organisation.getName().replaceAll(" ", "_") + ".xlsx";
fileName = FileUtil.encodeFilenameForDownload(request, fileName);
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
- //downloadTokenValue will have been provided when requesting excel export
+ //set cookie that will tell JS script that export has been finished
String downloadTokenValue = WebUtil.readStrParam(request, "downloadTokenValue");
Cookie fileDownloadTokenCookie = new Cookie("fileDownloadToken", downloadTokenValue);
fileDownloadTokenCookie.setPath("/");
Index: lams_gradebook/web/gradebookCourseLearner.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/web/gradebookCourseLearner.jsp,v
diff -u -r1.6 -r1.7
--- lams_gradebook/web/gradebookCourseLearner.jsp 13 Nov 2009 03:13:51 -0000 1.6
+++ lams_gradebook/web/gradebookCourseLearner.jsp 6 Sep 2012 16:03:19 -0000 1.7
@@ -10,20 +10,12 @@
Course Gradebook Learner
+
+
Index: lams_gradebook/web/gradebookCourseMonitor.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/web/gradebookCourseMonitor.jsp,v
diff -u -r1.9 -r1.10
--- lams_gradebook/web/gradebookCourseMonitor.jsp 16 Jul 2012 17:59:33 -0000 1.9
+++ lams_gradebook/web/gradebookCourseMonitor.jsp 6 Sep 2012 16:03:19 -0000 1.10
@@ -10,67 +10,21 @@
+
+
-
-
+
+
-
+
+
+
+