// perhaps this should be moved to GradebookImpl public Map getStatsColumns() { Map columns = new TreeMap(); if (currentGradebook == null) { return columns; } Set students = currentGradebook.getStudents(); if (students.size() == 0) { return columns; } StudentGrades student = (StudentGrades) students.iterator().next(); int size = student.getGrades().size(); for (int current = 0; current < size; current++) { Column nc = new Column(currentGradebook, current); // logger.info("** Checking if column " + current + " is stat-able!"); if (nc.getSummary() != null) { if (nc.getHasName()) { columns.put(nc.getName(), new Integer(current)); } else { columns.put(Integer.toString(current), new Integer(current)); } } } return columns; }
public String processCsvDownload() { try { if (!this.checkAccess()) { throw new PermissionException( SessionManager.getCurrentSessionUserId(), "syllabus_access_athz", ""); } } catch (PermissionException e) { // logger.info(this + ".getEntries() in PostemTool " + e); FacesContext.getCurrentInstance() .addMessage( null, MessageUtils.getMessage( FacesMessage.SEVERITY_ERROR, "error_permission", (new Object[] {e.toString()}), FacesContext.getCurrentInstance())); return "permission_error"; } Long currentGbId = ((Gradebook) gradebookTable.getRowData()).getId(); currentGradebook = gradebookManager.getGradebookByIdWithHeadingsAndStudents(currentGbId); List csvContents = new ArrayList(); if (currentGradebook.getHeadings().size() > 0) { csvContents.add(currentGradebook.getHeadings()); } Iterator si = currentGradebook.getStudents().iterator(); while (si.hasNext()) { List sgl = new ArrayList(); StudentGrades sg = (StudentGrades) si.next(); sgl.add(sg.getUsername()); sgl.addAll(sg.getGrades()); csvContents.add(sgl); } CSV newCsv = new CSV(csvContents, currentGradebook.getHeadings().size() > 0); this.csv = newCsv.getCsv(); return "download_csv"; }