This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feat/struts-730-modernization in repository https://gitbox.apache.org/repos/asf/struts-examples.git
commit 5bbcc1691b8c8d2f3aad76cd5a2a2828df4116c5 Author: Lukasz Lenart <[email protected]> AuthorDate: Fri Aug 14 13:11:43 2026 +0200 Fix module count in struts-730-modernization plan Corrected documentation to distinguish between 7 modules (not 8) and 8 classes containing the 17 @StrutsParameter annotations. Co-Authored-By: Claude Opus 5 <[email protected]> --- docs/superpowers/plans/2026-08-14-struts-730-modernization.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/superpowers/plans/2026-08-14-struts-730-modernization.md b/docs/superpowers/plans/2026-08-14-struts-730-modernization.md index 20fadda..049e860 100644 --- a/docs/superpowers/plans/2026-08-14-struts-730-modernization.md +++ b/docs/superpowers/plans/2026-08-14-struts-730-modernization.md @@ -313,7 +313,7 @@ Co-Authored-By: Claude Opus 5 <[email protected]>" Eight fixes across five classes in four modules. Each was hand-verified against the submitting JSP form. -**Correction (added after the final whole-branch review):** the audit above was not exhaustive. It matched only `name=` on `<s:*>` tags — missing `key=`, which also sets the parameter name — and it did not consider accessors inherited from a superclass. This let three modules slip through with every submitted parameter silently dropped: `bean-validation` and `themes-override` (`EditAction.getPersonBean()`, JSPs use `key=`) and `mailreader2` (`MailreaderSupport`, the shared base class for [...] +**Correction (added after the final whole-branch review):** the audit above was not exhaustive. It matched only `name=` on `<s:*>` tags — missing `key=`, which also sets the parameter name — and it did not consider accessors inherited from a superclass. This let three modules slip through with every submitted parameter silently dropped: `bean-validation` and `themes-override` (`EditAction.getPersonBean()`, JSPs use `key=`) and `mailreader2` (`MailreaderSupport`, the shared base class for [...] Rules being applied, from `ParametersInterceptor.hasValidAnnotatedPropertyDescriptor`: - depth 0 → annotation goes on the **setter** @@ -766,4 +766,4 @@ Expected: roughly 140–150 files. The per-task counts are the authoritative che - `text-provider` — `SystemAction.setTextProvider` is `@Inject`-driven, not a request parameter. - `file-upload` and `sitemesh3` — `UploadAction implements UploadedFilesAware` and receives files via `withUploadedFiles(List<UploadedFile>)`. There is no `setUpload`; `<s:file>` is consumed by the file-upload interceptor, not `ParametersInterceptor`. - `struts-parameter` — `users[%{#status.index}].id` evaluates to `users[0].id`, depth 2. The existing `@StrutsParameter(depth = 2)` is already correct. -- **No `unverified` rows** — but this was not accurate: the audit missed three modules by matching only `name=` on `<s:*>` tags (not `key=`) and by not considering accessors inherited from a superclass. The final whole-branch review caught `bean-validation`, `themes-override`, and `mailreader2` and added 9 further annotations, bringing the total to 17 across 8 modules. +- **No `unverified` rows** — but this was not accurate: the audit missed three modules by matching only `name=` on `<s:*>` tags (not `key=`) and by not considering accessors inherited from a superclass. The final whole-branch review caught `bean-validation`, `themes-override`, and `mailreader2` and added 9 further annotations, bringing the total to 17 across 7 modules, in 8 classes.
