Index: lams_central/src/java/org/lamsfoundation/lams/web/outcome/OutcomeController.java =================================================================== diff -u -r27a03def8215e26737b44b5aaa2415b27a4a3f83 -r6c522180a38fde18c63fd67711ac34c09a033cde --- lams_central/src/java/org/lamsfoundation/lams/web/outcome/OutcomeController.java (.../OutcomeController.java) (revision 27a03def8215e26737b44b5aaa2415b27a4a3f83) +++ lams_central/src/java/org/lamsfoundation/lams/web/outcome/OutcomeController.java (.../OutcomeController.java) (revision 6c522180a38fde18c63fd67711ac34c09a033cde) @@ -53,7 +53,7 @@ import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.util.excel.ExcelCell; +import org.lamsfoundation.lams.util.excel.ExcelSheet; import org.lamsfoundation.lams.util.excel.ExcelUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -401,7 +401,7 @@ UserDTO user = getUserDTO(); securityService.isSysadmin(user.getUserID(), "export outcomes", true); - LinkedHashMap dataToExport = outcomeService.exportOutcomes(); + List sheets = outcomeService.exportOutcomes(); String fileName = "lams_outcomes.xls"; fileName = FileUtil.encodeFilenameForDownload(request, fileName); @@ -417,7 +417,7 @@ // Code to generate file and write file contents to response ServletOutputStream out = response.getOutputStream(); - ExcelUtil.createExcelXLS(out, dataToExport, messageService.getMessage("outcome.export.date"), true); + ExcelUtil.createExcel(out, sheets, messageService.getMessage("outcome.export.date"), true, false); } @RequestMapping("/outcomeImport") @@ -574,7 +574,7 @@ UserDTO user = getUserDTO(); securityService.isSysadmin(user.getUserID(), "export outcome scales", true); - LinkedHashMap dataToExport = outcomeService.exportScales(); + List sheets = outcomeService.exportScales(); String fileName = "lams_outcome_scales.xls"; fileName = FileUtil.encodeFilenameForDownload(request, fileName); @@ -590,7 +590,7 @@ // Code to generate file and write file contents to response ServletOutputStream out = response.getOutputStream(); - ExcelUtil.createExcelXLS(out, dataToExport, messageService.getMessage("outcome.export.date"), true); + ExcelUtil.createExcel(out, sheets, messageService.getMessage("outcome.export.date"), true, false); } @RequestMapping("/scaleImport") Index: lams_common/src/java/org/lamsfoundation/lams/outcome/service/IOutcomeService.java =================================================================== diff -u -r27a03def8215e26737b44b5aaa2415b27a4a3f83 -r6c522180a38fde18c63fd67711ac34c09a033cde --- lams_common/src/java/org/lamsfoundation/lams/outcome/service/IOutcomeService.java (.../IOutcomeService.java) (revision 27a03def8215e26737b44b5aaa2415b27a4a3f83) +++ lams_common/src/java/org/lamsfoundation/lams/outcome/service/IOutcomeService.java (.../IOutcomeService.java) (revision 6c522180a38fde18c63fd67711ac34c09a033cde) @@ -1,14 +1,13 @@ package org.lamsfoundation.lams.outcome.service; import java.io.IOException; -import java.util.LinkedHashMap; import java.util.List; import org.lamsfoundation.lams.outcome.Outcome; import org.lamsfoundation.lams.outcome.OutcomeMapping; import org.lamsfoundation.lams.outcome.OutcomeResult; import org.lamsfoundation.lams.outcome.OutcomeScale; -import org.lamsfoundation.lams.util.excel.ExcelCell; +import org.lamsfoundation.lams.util.excel.ExcelSheet; import org.springframework.web.multipart.MultipartFile; public interface IOutcomeService { @@ -40,9 +39,9 @@ void copyOutcomeMappings(Long sourceLessonId, Long sourceToolContentId, Long sourceItemId, Long targetLessonId, Long targetToolContentId, Long targetItemId); - LinkedHashMap exportScales(); + List exportScales(); - LinkedHashMap exportOutcomes(); + List exportOutcomes(); int importScales(MultipartFile fileItem) throws IOException; Index: lams_common/src/java/org/lamsfoundation/lams/outcome/service/OutcomeService.java =================================================================== diff -u -r27a03def8215e26737b44b5aaa2415b27a4a3f83 -r6c522180a38fde18c63fd67711ac34c09a033cde --- lams_common/src/java/org/lamsfoundation/lams/outcome/service/OutcomeService.java (.../OutcomeService.java) (revision 27a03def8215e26737b44b5aaa2415b27a4a3f83) +++ lams_common/src/java/org/lamsfoundation/lams/outcome/service/OutcomeService.java (.../OutcomeService.java) (revision 6c522180a38fde18c63fd67711ac34c09a033cde) @@ -26,6 +26,8 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.excel.ExcelCell; +import org.lamsfoundation.lams.util.excel.ExcelRow; +import org.lamsfoundation.lams.util.excel.ExcelSheet; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.web.multipart.MultipartFile; @@ -105,59 +107,52 @@ } @Override - public LinkedHashMap exportScales() { - LinkedHashMap dataToExport = new LinkedHashMap<>(); + public List exportScales() { + List sheets = new LinkedList(); + ExcelSheet scalesSheet = new ExcelSheet(messageService.getMessage("scale.title")); + sheets.add(scalesSheet); - // The entire data list - List rowList = new LinkedList<>(); - ExcelCell[] row = new ExcelCell[4]; - row[0] = new ExcelCell(messageService.getMessage("outcome.manage.add.name"), true); - row[1] = new ExcelCell(messageService.getMessage("outcome.manage.add.code"), true); - row[2] = new ExcelCell(messageService.getMessage("outcome.manage.add.description"), true); - row[3] = new ExcelCell(messageService.getMessage("scale.manage.add.value"), true); - rowList.add(row); + ExcelRow headerRow = scalesSheet.initRow(); + headerRow.addCell(messageService.getMessage("outcome.manage.add.name"), true); + headerRow.addCell(messageService.getMessage("outcome.manage.add.code"), true); + headerRow.addCell(messageService.getMessage("outcome.manage.add.description"), true); + headerRow.addCell(messageService.getMessage("scale.manage.add.value"), true); List scales = getScales(); for (OutcomeScale scale : scales) { - row = new ExcelCell[4]; - row[0] = new ExcelCell(scale.getName(), false); - row[1] = new ExcelCell(scale.getCode(), false); - row[2] = new ExcelCell(scale.getDescription(), false); - row[3] = new ExcelCell(scale.getItemString(), false); - rowList.add(row); + ExcelRow scaleRow = scalesSheet.initRow(); + scaleRow.addCell(scale.getName()); + scaleRow.addCell(scale.getCode()); + scaleRow.addCell(scale.getDescription()); + scaleRow.addCell(scale.getItemString()); } - ExcelCell[][] data = rowList.toArray(new ExcelCell[][] {}); - dataToExport.put(messageService.getMessage("scale.title"), data); - return dataToExport; + return sheets; } @Override - public LinkedHashMap exportOutcomes() { - LinkedHashMap dataToExport = new LinkedHashMap<>(); + public List exportOutcomes() { + List sheets = new LinkedList(); + ExcelSheet outcomeSheet = new ExcelSheet(messageService.getMessage("index.outcome.manage")); + sheets.add(outcomeSheet); // The entire data list - List rowList = new LinkedList<>(); - ExcelCell[] row = new ExcelCell[4]; - row[0] = new ExcelCell(messageService.getMessage("outcome.manage.add.name"), true); - row[1] = new ExcelCell(messageService.getMessage("outcome.manage.add.code"), true); - row[2] = new ExcelCell(messageService.getMessage("outcome.manage.add.description"), true); - row[3] = new ExcelCell(messageService.getMessage("outcome.manage.add.scale"), true); - rowList.add(row); + ExcelRow headerRow = outcomeSheet.initRow(); + headerRow.addCell(messageService.getMessage("outcome.manage.add.name"), true); + headerRow.addCell(messageService.getMessage("outcome.manage.add.code"), true); + headerRow.addCell(messageService.getMessage("outcome.manage.add.description"), true); + headerRow.addCell(messageService.getMessage("outcome.manage.add.scale"), true); List outcomes = getOutcomes(); for (Outcome outcome : outcomes) { - row = new ExcelCell[4]; - row[0] = new ExcelCell(outcome.getName(), false); - row[1] = new ExcelCell(outcome.getCode(), false); - row[2] = new ExcelCell(outcome.getDescription(), false); - row[3] = new ExcelCell(outcome.getScale().getName(), false); - rowList.add(row); + ExcelRow outcomeRow = outcomeSheet.initRow(); + outcomeRow.addCell(outcome.getName()); + outcomeRow.addCell(outcome.getCode()); + outcomeRow.addCell(outcome.getDescription()); + outcomeRow.addCell(outcome.getScale().getCode()); } - ExcelCell[][] data = rowList.toArray(new ExcelCell[][] {}); - dataToExport.put(messageService.getMessage("index.outcome.manage"), data); - return dataToExport; + return sheets; } @Override