2 Commits

Author SHA1 Message Date
Lukasz Lenart 57c33654cd Add tests for conversion error repopulation with indexed properties (#1391)
This commit addresses recommendation #4 from the visitor pattern research:
"Test repopulation behavior specifically with indexed properties to confirm it works as expected."

Two new test methods have been added to VisitorFieldValidatorTest:

1. testArrayConversionErrorRepopulation()
   - Tests conversion errors in indexed array properties (testBeanArray[0].count, etc.)
   - Verifies that conversion errors are properly detected with correct indexed notation
   - Confirms repopulateField parameter preserves invalid values

2. testListConversionErrorRepopulation()
   - Tests conversion errors in indexed list properties (testBeanList[1].count, etc.)
   - Verifies proper field error key generation for list elements
   - Validates that elements without conversion errors don't generate false positives

Supporting validation configuration files:
- TestBean-validateArrayWithConversion-validation.xml
- TestBean-validateListWithConversion-validation.xml
- VisitorValidatorTestAction-validateArrayWithConversion-validation.xml
- VisitorValidatorTestAction-validateListWithConversion-validation.xml

These tests verify the VisitorFieldValidator correctly handles:
- Conversion error detection for indexed properties
- Field name construction with proper index notation
- Error message generation for specific indexed elements
- Selective validation (only elements with conversion errors fail)

Research notes documenting the visitor pattern investigation are included
in thoughts/lukaszlenart/notes/2025-10-17-struts2-iterator-validation-visitor-pattern.md

Also updated .claude/settings.json to refine permissions:
- More specific WebFetch domain (struts.apache.org vs apache.org)
- Added git checkout and git log permissions for better workflow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-18 12:45:18 +02:00
Lukasz Lenart e1de9362af Improve Claude Code agents configuration for Apache Struts
- Replace hardcoded user paths with dynamic $USER environment variable
- Update ticket patterns from eng_XXXX to Apache Struts WW-XXXX format
- Create thoughts/ directory structure for research documentation
- Add Maven build commands (mvn test -DskipAssembly) to agents
- Enhance security analysis with CVE-specific patterns (CVE-2017-5638, CVE-2018-11776)
- Improve Struts-specific knowledge in codebase analysis agents
- Add Jakarta module support and OGNL security focus
- Enable portable configuration across all developers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 11:57:42 +02:00