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]
