2 * Copyright (C) 2007-2012 Mathieu Baudier
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org
.argeo
.slc
.web
.mvc
;
20 import javax
.servlet
.http
.HttpServletRequest
;
21 import javax
.servlet
.http
.HttpServletResponse
;
23 import jxl
.write
.Label
;
24 import jxl
.write
.WritableSheet
;
25 import jxl
.write
.WritableWorkbook
;
27 import org
.argeo
.slc
.SlcException
;
28 import org
.argeo
.slc
.core
.structure
.tree
.TreeSPath
;
29 import org
.argeo
.slc
.core
.test
.SlcTestUtils
;
30 import org
.argeo
.slc
.core
.test
.tree
.PartSubList
;
31 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
32 import org
.argeo
.slc
.test
.TestResultPart
;
33 import org
.springframework
.web
.servlet
.view
.document
.AbstractJExcelView
;
35 public class ResultExcelView
extends AbstractJExcelView
{
36 public final static String MODELKEY_RESULT
= "result";
39 @SuppressWarnings(value
= { "unchecked" })
40 protected void buildExcelDocument(Map model
, WritableWorkbook workbook
,
41 HttpServletRequest request
, HttpServletResponse response
) {
43 if (workbook
.getNumberOfSheets() == 0) {
44 workbook
.createSheet("SLC", 0);
46 WritableSheet sheet
= workbook
.getSheet("SLC");
48 TreeTestResult ttr
= (TreeTestResult
) model
49 .get(MODELKEY_RESULT
);
51 sheet
.addCell(new Label(0, 0, "Result " + ttr
.getUuid()));
54 for (TreeSPath path
: ttr
.getResultParts().keySet()) {
55 PartSubList lst
= ttr
.getResultParts().get(path
);
56 sheet
.addCell(new Label(0, currentRow
, "Path " + path
));
58 for (TestResultPart part
: lst
.getParts()) {
59 sheet
.addCell(new Label(0, currentRow
, SlcTestUtils
60 .statusToString(part
.getStatus())));
61 sheet
.addCell(new Label(1, currentRow
, part
.getMessage()));
64 currentRow
++;// add an empty line between paths
66 } catch (Exception e
) {
67 throw new SlcException("Could not write spreadsheet.", e
);