stevedlawrence opened a new pull request, #1064: URL: https://github.com/apache/daffodil/pull/1064
When full or custom validation is enabled, Daffodil creates a new TeeInfosetOutputter which proxies infoset events to the user provided InfosetOutputter and another one used for validation. This means that calls to getBlobDirectory, getBlobSuffix, setBlobPath, etc. go to the TeeInfosetOutputter, and ignore any values that a user may have set on their provided InfosetOutputter. This essentially means you cannot change the directory, suffix, or prefix of blobs if full or custom validation is enabled. It also means that if calling getBlobPaths on the user provided InfosetOutputter never returns anything, even if blobs were created. To fix this, if full or custom validation is enabled, we copy the blob attributes to the TeeInfosetOutputter used for parsing. We also ensure that at the end of parsing, we call setBlobPaths on the InfosetOutputter the user passed in instead of the TeeInfosetOutputter. DAFFODIL-2837 -- 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]
