The DataHelix generator allows you to quickly create data, based on a JSON profile that defines fields and the relationships between them, for the purpose of testing and validation
Fix issue raised in #1710 , where Contradictory weightedInSet profiles are valid
Changes
Introduced WeightedLegalValuesFieldSpec and LegalValuesFieldSpec, so that they can have their own merge strategy
Prevent WeightedLegalValuesFieldSpec merging together
Change InSetConstraint and the classes that create it (name service, dtos, etc) to use list of InSetRecord
Use list instead of DistributedList for InMapRelation and InMapIndexRelation as the values these are never constructed with weighted values.
Use InSetRecord as it uses a Double type for storing the weight, which has the advantage of allowing a null value when file is not actually providing any weighted values.
Tested with the existing tests cases. Did have to update a few tests to handle the changes in data that classes were responsible for.
Description
Fix issue raised in #1710 , where Contradictory weightedInSet profiles are valid
Changes
WeightedLegalValuesFieldSpec
andLegalValuesFieldSpec
, so that they can have their own merge strategyWeightedLegalValuesFieldSpec
merging togetherInSetConstraint
and the classes that create it (name service, dtos, etc) to use list ofInSetRecord
DistributedList
forInMapRelation
andInMapIndexRelation
as the values these are never constructed with weighted values.InSetRecord
as it uses aDouble
type for storing the weight, which has the advantage of allowing anull
value when file is not actually providing any weighted values.Tested with the existing tests cases. Did have to update a few tests to handle the changes in data that classes were responsible for.
Additional notes
Issue
Resolves #1710