The goal of Seam Reports is to provide a fully integrated CDI programming model portable extension for Java EE that provides APIs for compiling, populating and rendering reports from existing report frameworks.
Most features of Seam Reports are installed automatically by including the seam-reports-api.jar and the respective provider implementation (along with its dependencies) in the web application library folder. If you are using Maven as your build tool, you can add the following dependency to your pom.xml file:
<dependency>
<groupId>org.jboss.seam.reports</groupId>
<artifactId>seam-reports-api</artifactId>
<version>${seam-reports-version}</version>
</dependency>
<!-- If you are using Jasper Reports, add the following dependency -->
<dependency>
<groupId>org.jboss.seam.reports</groupId>
<artifactId>seam-reports-jasper</artifactId>
<version>${seam-reports-version}</version>
</dependency>
<!-- If you are using Pentaho, add the following dependency -->
<dependency>
<groupId>org.jboss.seam.reports</groupId>
<artifactId>seam-reports-pentaho</artifactId>
<version>${seam-reports-version}</version>
</dependency>
Replace ${seam-reports-version} with the most recent or appropriate version of Seam Reports.
If you are using Seam Forge, you may use the seam-reports plugin to help with the setup.
If not already installed yet on Forge, you may install the plugin by running the following command inside Forge:
forge git-plugin git://github.com/forge/plugin-seam-reports.git
The Seam Reports API is quite simple.
You inject a ReportLoader, produce ReportDefinition or Report objects.
A ReportDefinition produces Report objects. Report objects are "ready-to-be-printed" reports.
Reports are rendered on a ReportRenderer object. Check the test cases for more info.