Constraint in feature definition can break BinaryDatabase
Using the following DataTypeDefinition, the Content parameter can be optained from the BinaryDatabase without issues:
<DataTypeDefinition> <Identifier>AnIMLFile</Identifier> <DisplayName>AnIML File</DisplayName> <Description>An AnIML file</Description> <DataType> <Structure> <Element> <Identifier>Filename</Identifier> <DisplayName>Filename</DisplayName> <Description>The filename</Description> <DataType> <Basic>String</Basic> </DataType> </Element> <Element> <Identifier>Content</Identifier> <DisplayName>Content</DisplayName> <Description>The file content. Must be a valid xml file.</Description> <DataType> <Basic>Binary</Basic> </DataType> </Element> </Structure> </DataType> </DataTypeDefinition>
Adding a constraint to the feauture definition breaks the retrievel of the file from the BinaryDatabase: <DataTypeDefinition> <Identifier>AnIMLFile</Identifier> <DisplayName>AnIML File</DisplayName> <Description>An AnIML file</Description> <DataType> <Structure> <Element> <Identifier>Filename</Identifier> <DisplayName>Filename</DisplayName> <Description>The filename</Description> <DataType> <Basic>String</Basic> </DataType> </Element> <Element> <Identifier>Content</Identifier> <DisplayName>Content</DisplayName> <Description>The file content</Description> <DataType> <Constrained> <DataType> <Basic>Binary</Basic> </DataType> <Constraints> <ContentType> <Type>application</Type> <Subtype>xml</Subtype> </ContentType> </Constraints> </Constrained> </DataType> </Element> </Structure> </DataType> </DataTypeDefinition>
The call BinaryDatabase.current().getBinary(fileContentUuid)
then trows a BinaryDatabaseException "No binary found with id ..."