leehaut opened a new pull request, #9085:
URL: https://github.com/apache/hop/pull/9085

   Fix https://github.com/apache/hop/issues/9083
   
   `Action.check()` resolves values through BeanUtils, using the JavaBean 
property name. It does not use the `@HopMetadataProperty` key, and the lookup 
is case-sensitive. Several actions passed a name that does not match the 
getter, so workflow verification reported a filled field as empty or skipped 
the check entirely. Execution was unaffected, because it reads the fields 
directly.
   
   `@HopMetadataProperty` keys are unchanged, so existing workflows still load.
   
   
   ### What changed
   
   - MySQL Bulk Load, MySQL Bulk File, and MSSQL Bulk Load now check `fileName` 
and `tableName`. `"filename"` was hitting `ActionBase.getFilename()`, which 
always returns null, so a configured file was reported blank and `fileExists` 
never ran. `"tablename"` does not match `getTableName()`.
   - HTTP checks `targetFilenameExtension`. The old string 
`targetFilenameExtention` is not a property. The load fallback for the legacy 
tag `targetfilename_extention` is left in place.
   - Get POP checks `sslPort`. `"SSLPort"` never reached the field, so a 
non-integer port was accepted. A blank port still passes, because 
`IntegerValidator` allows blank.
   - Pipeline checks `filename` when the file name is empty. The repository-era 
names `pipeline-name` and `directory` are gone, and looking them up always 
failed verification.
   - XSLT checks `xmlfilename`, `xslfilename`, and `outputfilename`. The 
camelCase getters are commented out; Lombok exposes the lower-case names.
   
   
   ### Test plan
   
   - [x] `ActionMysqlBulkLoadBlankFieldsTest` and 
`ActionMysqlBulkFileBlankFieldsTest`: a set file name and table name produce no 
`check()` error.
   - [x] `ActionMssqlBulkLoadCheckTest`: same for MSSQL Bulk Load, including 
`fileExists` on a real file.
   - [x] `ActionHttpTest`: a set extension passes; a blank extension is 
reported as `targetFilenameExtension`, not `targetFilenameExtention`.
   - [x] `ActionGetPOPTest`: `sslPort=nope` is reported as not an integer, and 
the message does not mention `SSLPort`.
   - [x] `ActionPipelineCheckTest`: an empty file name fails on `filename` 
only. A set file name passes. `pipeline-name` and `directory` are not mentioned.
   - [x] `XsltCheckTest`: existing XML and XSLT files plus an output path 
produce no `check()` error.
   - [x] Load an existing workflow that uses these actions and confirm 
`<filename>`, `<tablename>`, and the other stored tags are unchanged.


-- 
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