[
https://issues.apache.org/jira/browse/DAFFODIL-2837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Lawrence resolved DAFFODIL-2837.
--------------------------------------
Resolution: Fixed
Fixed in commit 3ae1ef479f0530322ab20f0111b70c47fa5430c6
> Full/Custom validation removes the ability to change blob attributes
> --------------------------------------------------------------------
>
> Key: DAFFODIL-2837
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2837
> Project: Daffodil
> Issue Type: Bug
> Components: Back End
> Affects Versions: 3.5.0
> Reporter: Steve Lawrence
> Priority: Critical
> Fix For: 3.5.1
>
>
> When full or custom validation is enabled, Daffodil creates a
> TeeInfosetOutputter with one arm going to the original InfosetOutputter
> provided by the user and the other going to an InfosetOutputter used to
> validate the infoset result. This TeeInfosetOutputter simply proxies infoset
> events to both InfosetOutputers.
> However, it does not proxy blob related functions (e.g. setBlobAttributes,
> getBlobDirectory). So if a user modifies the blob attributes of their
> InfosetOuputter, they will not be used because Daffodil only sees the
> attributes on the TeeInfosetOutputter, which are just the default values.
> Instead, the TeeInfosetOutputter should proxy the blob related functions to
> the first InfosetOutputter which is what the user provided.
> As a partial workaround, the blob directory can be controlled by changing the
> "java.io.tmpdir" property, but note that that could affect other things if
> they use this property too. I don't believe Daffodil uses it for anything
> else. There is no workaround to change the prefix or suffix.
> Alternatively, disabling full/custom validation and relying on either limited
> validation and/or external validation will also allow configuring these
> attributes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)