lukaszlenart opened a new pull request, #331:
URL: https://github.com/apache/struts-site/pull/331

   Closes [WW-5728](https://issues.apache.org/jira/browse/WW-5728).
   
   ## What
   
   - New `source/plugins/jasperreports7/index.md` for 
`struts2-jasperreports7-plugin` (since 7.1.0, WW-5455), mirroring the structure 
of the existing JasperReports page: description, usage with the result 
parameters, examples, filling from report parameters (WW-3245, applies to both 
plugins), `JasperReport7Aware` hooks, custom exporters, settings, installation, 
and a migration list from the 6.x plugin.
   - Plugins index: new `JasperReports 7 Plugin | 7.1.0+` row next to the 
existing one, both annotated with the JasperReports major they target.
   - Existing JasperReports page: one line pointing JasperReports 7 users to 
the new page.
   
   ## Where the page deliberately deviates from the Javadoc
   
   - **Format values are lower-case.** `JasperReport7Result` looks the exporter 
up as `getInstance(JasperReport7ExporterProvider.class, format)` with no case 
folding, and the beans are registered as `pdf`, `csv`, `html`, `xlsx`, `xml`, 
`rtf`. The Javadoc's own `<param name="format">CSV</param>` example would fail 
with `No exporter found for format: CSV`. The page uses `csv` and says the 
lookup is case-sensitive. The Javadoc itself should be fixed in `apache/struts`.
   - **`jasperreports-pdf` must be added by the application.** It is 
`<optional>` in the plugin POM while `pdf` is the default format, so the 
Installation section shows it alongside the plugin dependency.
   - **Custom exporters are documented as *new* format names only.** 
Redeclaring a bundled bean name (`<bean name="pdf" ...>`) in `struts.xml` 
throws `ConfigurationException` (`throwExceptionOnDuplicateBeans` defaults to 
`true` in `XmlDocConfigurationProvider`), so "override the PDF exporter" is not 
a supported path; the page says to use a different name or subclass 
`JasperReport7Result.exportReport`.
   - `timeZone` is documented although the Javadoc omits it - the setter exists 
in both plugins and is applied as `REPORT_TIME_ZONE`.
   
   ## Verified
   
   `bundle exec jekyll build` succeeds; the new page renders with all ToC 
anchors resolving, the `../jasperreports` / `../jasperreports7` cross-links and 
the index row point at existing pages, and the settings table renders.
   
   Docs-only diff, so no security review.
   
   ## Noticed along the way (not in this PR, `apache/struts`)
   
   `JasperReport7CsvExporterProvider` sets 
`config.setRecordDelimiter(reportDelimiter)` to the same value as the field 
delimiter, so every record is joined by `,` instead of a newline - looks like a 
copy-paste slip.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to