]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultPdfView.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 / ResultPdfView.java
1 package org.argeo.slc.web.mvc.result;
2
3 import java.awt.Color;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.argeo.slc.core.structure.tree.TreeSPath;
10 import org.argeo.slc.core.test.SlcTestUtils;
11 import org.argeo.slc.core.test.tree.PartSubList;
12 import org.argeo.slc.core.test.tree.TreeTestResult;
13 import org.argeo.slc.test.TestResultPart;
14 import org.argeo.slc.test.TestStatus;
15 import org.springframework.web.servlet.view.document.AbstractPdfView;
16
17 import com.lowagie.text.Cell;
18 import com.lowagie.text.Document;
19 import com.lowagie.text.Paragraph;
20 import com.lowagie.text.Table;
21 import com.lowagie.text.pdf.PdfWriter;
22
23 public class ResultPdfView extends AbstractPdfView {
24
25 @Override
26 protected void buildPdfDocument(Map model, Document document,
27 PdfWriter writer, HttpServletRequest request,
28 HttpServletResponse response) throws Exception {
29 TreeTestResult ttr = (TreeTestResult) model
30 .get(GetResultController.MODELKEY_RESULT);
31
32 document.addTitle("Result " + ttr.getUuid());
33 document.add(new Paragraph("Result " + ttr.getUuid()));
34
35 for (TreeSPath path : ttr.getResultParts().keySet()) {
36 PartSubList lst = ttr.getResultParts().get(path);
37 document.add(new Paragraph("Path " + path));
38 Table table = new Table(2, lst.getParts().size());
39 for (TestResultPart part : lst.getParts()) {
40 Integer status = part.getStatus();
41 Cell statusCell = new Cell(SlcTestUtils.statusToString(status));
42 final Color color;
43 if (status.equals(TestStatus.PASSED))
44 color = Color.GREEN;
45 else if (status.equals(TestStatus.FAILED))
46 color = Color.RED;
47 else
48 color = Color.MAGENTA;
49
50 statusCell.setBackgroundColor(color);
51 table.addCell(statusCell);
52 table.addCell(part.getMessage());
53 }
54 document.add(table);
55 }
56
57 }
58
59 }