Repository navigation
Fix#9083 workflow action check() to read the real bean properties - #9085
Merged
Merged
Conversation
Signed-off-by: leehaut <leehaut@gmail.com>
mattcasters
approved these changes
Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix #9083
Action.check()resolves values through BeanUtils, using the JavaBean property name. It does not use the@HopMetadataPropertykey, 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.@HopMetadataPropertykeys are unchanged, so existing workflows still load.What changed
fileNameandtableName."filename"was hittingActionBase.getFilename(), which always returns null, so a configured file was reported blank andfileExistsnever ran."tablename"does not matchgetTableName().targetFilenameExtension. The old stringtargetFilenameExtentionis not a property. The load fallback for the legacy tagtargetfilename_extentionis left in place.sslPort."SSLPort"never reached the field, so a non-integer port was accepted. A blank port still passes, becauseIntegerValidatorallows blank.filenamewhen the file name is empty. The repository-era namespipeline-nameanddirectoryare gone, and looking them up always failed verification.xmlfilename,xslfilename, andoutputfilename. The camelCase getters are commented out; Lombok exposes the lower-case names.Test plan
ActionMysqlBulkLoadBlankFieldsTestandActionMysqlBulkFileBlankFieldsTest: a set file name and table name produce nocheck()error.ActionMssqlBulkLoadCheckTest: same for MSSQL Bulk Load, includingfileExistson a real file.ActionHttpTest: a set extension passes; a blank extension is reported astargetFilenameExtension, nottargetFilenameExtention.ActionGetPOPTest:sslPort=nopeis reported as not an integer, and the message does not mentionSSLPort.ActionPipelineCheckTest: an empty file name fails onfilenameonly. A set file name passes.pipeline-nameanddirectoryare not mentioned.XsltCheckTest: existing XML and XSLT files plus an output path produce nocheck()error.<filename>,<tablename>, and the other stored tags are unchanged.