7.0.0-dev.110
CDM Event Common - Creation of 'ContingentTransfer' and 'ContingentTransferEnum' and transfer of values
Background
The ScheduledTransferEnum contains values that are not scheduled, but rather contingent on an external event. These values are:
CorporateActionCreditEventExercise
What is being released?
The addition of the following:
- Add a new enumeration called
ContingentTransferEnumwhich contains the values specified above (removed fromScheduledTransferEnum) - Add a new type called
ContingentTransferwhich contains the enum and thecorporateActionTransferTypethat currently exists inScheduledTransfer - Add
settlementOriginattribute toContingentTransfer
Review Directions
Changes can be reviewed in PR: #4697
Event Model - Support for Rate Changes on Securities Lending trades
Background
The processing of the QuantityChange primitive instruction is being enhanced to support the entry and maintenance of a schedule of interest rates in a PriceSchedule using the datedValue list.
What is being released?
The key changes are as follows:
Function UpdatePriceAmountForEachMatchingQuantity
- Now expects a
PriceQuantityrather than aPriceas input - Calls a new
UpdateDatedValuefunction to update adatedValueentry if one already exists for the effective date of the price change - Calls a new
InsertDatedValuefunction to insert a new entry in thedatedValuelist if one does not exist already for the given effective date - The original functionality to update the
valuein aPriceScheduleremains unchanged
Function PriceUnitEquals
- Has been enhanced to take the
priceSubTypeinto account when comparing twoPriceScheduleinstances
Function UpdateDatedValue
- New function to update only those entries in a
datedValuelist that have a date that matches theeffectiveDatepassed in. - Note: There is an existing function
UpdateDatedValueswhich will update any entries indatedValuewhose date is greater than or equal to theeffectiveDate. This is not the required processing for price (rate) changes so it was felt that creating a separate function would have less impact on existing use cases.
Function InsertDatedValue
- New function to insert a new entry into a
datedValuelist based upon theeffectiveDatethat was passed in. - Supports prefixing where the
effectiveDateis prior to the earliest date in thedatedValuelist, and appending where theeffectiveDateis after the latest date in thedatedValuelist - Note: as per the comment on the type, the
datedValuelist is expected to be maintained in ascending date order
Review Directions
Changes can be reviewed in PR: #4690
Infrastructure - Improve CDM Builds
Background
Several improvements have been identified for the CDM build process:
- Rosetta sources are currently compiled twice
- Javadocs are generated for every build, even though they are only required for releases
For more details, see GitHub issue: #4717.
What is being released?
The Maven POM has been updated to:
- Remove the duplicate compilation step
- Configure Javadoc generation to run only for release builds
These changes typically reduce Maven build times for contributors by approximately 60%.
Review directions
Changes can be reviewed in PR: #4748