Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2837

Full/Custom validation removes the ability to change blob attributes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 3.5.0
    • 3.6.0
    • Back End
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            slawrence Steve Lawrence
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: