Table of Contents
| Name | Description |
|---|---|
| date | The current date. |
| locale | The current locale set in the web frontend. |
| activeProject | The currently selected KlarosConfiguration. If no
project is selected this variable contains the null object.
|
| user | A KlarosUser object representing the active user.
|
| parameters | A Map of parameter objects representing the entered parameters when running the report.
The map key consists of the parameter name attribute the value is of type de.verit.klaros.scripting.model.Parameter.
|
Table E.1. Context Variables
The context variables can be accessed via SeamPDF by e.g.:
<p:text value="#{date}" />
![]() |
Note |
|---|---|
|
#{user.name} and #{user.username} contain different values. The first provides the user's real name, while the latter provides the name the user is logged in with. |
package de.verit.klaros.scripting;
/**
* Public interface that all seam-pdf template scripts must implement be work
* properly.
*/
public interface KlarosScript {
/**
* This functions gets called by the seam-pdf servlet to execute the script.
*
* @param context
* The event context to provide all needed functions, properties
* and objects.
*/
void execute(KlarosContext context);
}
<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://jboss.org/schema/seam/pdf"
title="Klaros-Testmanagement Test Suite Report" marginMirroring="true"
author="#{user.name}" creator="#{user.name}" pageSize="A4">
<f:facet name="header">
<p:font size="8">
<p:header borderWidthBottom="0.1" borderColorBottom="black" borderWidthTop="0" alignment="center">
<p:text value="Example report - generated #{date} by #{user.name}"/>
</p:header>
<p:footer borderWidthTop="0.1" borderColorTop="black" borderWidthBottom="0" alignment="center">
<p:text value="Page " />
<p:pageNumber />
</p:footer>
</p:font>
</f:facet>
<!-- print the frontpage -->
<p:paragraph alignment="center" spacingAfter="100">
<p:text value="" />
</p:paragraph>
<p:font style="bold" size="32">
<p:paragraph alignment="center" spacingAfter="75">
<p:text value="Test Case Report" />
</p:paragraph>
</p:font>
<p:font style="normal" size="12">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="Created by" />
</p:paragraph>
</p:font>
<p:font style="bold" size="16">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="#{user.name} (#{user.email})"/>
</p:paragraph>
</p:font>
<p:font style="normal" size="12">
<p:paragraph alignment="center" spacingAfter="5">
<p:text value="at" />
</p:paragraph>
</p:font>
<p:font style="bold" size="16">
<p:paragraph alignment="center" spacingAfter="75">
<p:text value="#{date}" />
</p:paragraph>
</p:font>
<p:newPage/>
<ui:fragment rendered="#{results != null}">
<p:font style="normal" size="12">
<p:paragraph alignment="left" spacingAfter="10">
<p:text value="The testresults for " />
</p:paragraph>
</p:font>
</ui:fragment>
<!-- Testresult table -->
<p:table columns="4" widths="1 1 3 3">
<!-- create the headline with bold characters -->
<p:font size="10" style="bold">
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Name" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Result" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Testrun description" />
</p:paragraph>
</p:cell>
<p:cell horizontalAlignment="center" verticalAlignment="top">
<p:paragraph>
<p:text value="Summary" />
</p:paragraph>
</p:cell>
</p:font>
<!-- display the attributes of the test results -->
<p:font size="8">
<ui:repeat value="#{results}" var="tcr">
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.testCase.name}" />
</p:paragraph>
</p:cell>
<!-- decide which color has to be displayed, based on the testresult -->
<ui:fragment rendered="#{tcr.error}">
<p:cell backgroundColor="rgb(255,0,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="error" />
</p:paragraph>
</p:cell>
</ui:fragment>
<ui:fragment rendered="#{tcr.failure}">
<p:cell backgroundColor="rgb(255,215,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="failure" />
</p:paragraph>
</p:cell>
</ui:fragment>
<ui:fragment rendered="#{tcr.passed}">
<p:cell backgroundColor="rgb(0,255,0)" verticalAlignment="top" horizontalAlignment="center">
<p:paragraph>
<p:text value="passed" />
</p:paragraph>
</p:cell>
</ui:fragment>
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.description}" />
</p:paragraph>
</p:cell>
<p:cell verticalAlignment="top" horizontalAlignment="left">
<p:paragraph>
<p:text value="#{tcr.summary}" />
</p:paragraph>
</p:cell>
<!-- Print the testcase description below the result row.
To differ from the next row use a bigger border for the bottom. -->
<p:cell colspan="4" verticalAlignment="top" horizontalAlignment="left"
borderWidthBottom="1" paddingBottom="3">
<p:paragraph>
<p:font size="6" style="bold">
<p:text value="Testcase description:" />
</p:font>
<p:font size="6">
<p:text value="#{tcr.testCase.description}" />
</p:font>
</p:paragraph>
</p:cell>
</ui:repeat>
</p:font>
</p:table>
</p:document>