D.3. Example report template
<p:document xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://jboss.com/products/seam/pdf"
title="Klaros-Testmanagement Test Plan 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>