leehaut opened a new pull request, #9212: URL: https://github.com/apache/hop/pull/9212
Fix https://github.com/apache/hop/issues/9172 ## Summary 1. **Settings not persisted** — After the XML cleanup that removed `getXml()` / `loadXml()`, several XSLT action fields were never annotated with `@HopMetadataProperty`. They worked in the GUI until save/reload, and were ignored by `hop-run`. Restored persistence for: - `addfiletoresult` - `filenamesfromprevious` - `xsltfactory` - Advanced parameters and output properties (as nested metadata lists) 2. **Create new with unique name overwrote the existing file** — The unique filename was built into a local string, but the transform still wrote to the original `FileObject`. The action now re-resolves the output `FileObject` after renaming. 3. **Missing XSL logged with the XML path** — When the XSL file was missing, the error message used `xmlfilename` instead of `xslfilename`. Also closes zip/jar VFS file systems after use (and closes `FileObject`s in `HopVfsUriResolver`) so Windows does not keep archive locks that break `@TempDir` cleanup in tests. ## Test plan - [x] `XsltTest` — serialization round-trip of previously unsaved fields - [x] `XsltTest` — unique output name keeps the existing file and writes a new one - [x] `XsltTest` — missing XSL log contains the XSL path - [x] `XsltCheckTest` / `XsltRelativeReferencesTest` (including zip includes on Windows) - [x] Manual: set Advanced options / “Get filenames from previous result” / SAXON → save → reopen → values retained - [x] Manual: existing output + “Create new with unique name” → original file unchanged, timestamped file created - [x] Manual: missing XSL → log names the XSL file -- 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]
