]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultExcelView.java
Add generic copy/remove to/from collection(s)
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / result / ResultExcelView.java
1 package org.argeo.slc.web.mvc.result;
2
3 import java.util.Map;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import jxl.write.Label;
9 import jxl.write.WritableSheet;
10 import jxl.write.WritableWorkbook;
11
12 import org.argeo.slc.SlcException;
13 import org.argeo.slc.core.structure.tree.TreeSPath;
14 import org.argeo.slc.core.test.SlcTestUtils;
15 import org.argeo.slc.core.test.tree.PartSubList;
16 import org.argeo.slc.core.test.tree.TreeTestResult;
17 import org.argeo.slc.test.TestResultPart;
18 import org.springframework.web.servlet.view.document.AbstractJExcelView;
19
20 public class ResultExcelView extends AbstractJExcelView {
21 protected void buildExcelDocument(Map model, WritableWorkbook workbook,
22 HttpServletRequest request, HttpServletResponse response) {
23 try {
24 if (workbook.getNumberOfSheets() == 0) {
25 workbook.createSheet("SLC", 0);
26 }
27 WritableSheet sheet = workbook.getSheet("SLC");
28
29 TreeTestResult ttr = (TreeTestResult) model
30 .get(GetResultController.MODELKEY_RESULT);
31
32 sheet.addCell(new Label(0, 0, "Result " + ttr.getUuid()));
33
34 int currentRow = 1;
35 for (TreeSPath path : ttr.getResultParts().keySet()) {
36 PartSubList lst = ttr.getResultParts().get(path);
37 sheet.addCell(new Label(0, currentRow, "Path " + path));
38 currentRow++;
39 for (TestResultPart part : lst.getParts()) {
40 sheet.addCell(new Label(0, currentRow, SlcTestUtils
41 .statusToString(part.getStatus())));
42 sheet.addCell(new Label(1, currentRow, part.getMessage()));
43 currentRow++;
44 }
45 currentRow++;// add an empty line between paths
46 }
47 } catch (Exception e) {
48 throw new SlcException("Could not write spreadsheet.", e);
49 }
50 }
51 }