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]
