You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project is a utility tool for dynamically generating Common Domain ModelTM (CDM) objects using a visual UI builder which can then be reviewed.
The tool provides functionality for navigating the CDMTM starting at a root type and traversing its nodes (attributes) to build up an object visually in the user interface.
The version of the CDMTM used is fixed at build time in the model file ./ui/src/app/modules/builder/services/builder-api.model.ts.
The Common Domain ModelTM is a registered trademark of FINOS. For more information please visit https://cdm.finos.org/
Installation
To start the web-based user interface locally, navigate to the ./ui folder and run
npm ci
npm start
Usage example
A use case for the Object Builder is the selection of Eligible Collateral Schedules.
Development setup for updating the CDM version
Basic Method
There is an npm command that is set up to update to the latest model vesion. The command assumes that mvn and java are installed.
Steps:
Run the command cd ui && npm run update-model
Check the file ui/src/app/modules/builder/services/builder-api.model.ts is updated.
Create a PR, Review and Merge.
Advanced setup
To update the version of the model used by this tool execute the Java utility.
Steps:
Update the finos.cdm.version property in the pom.xml file to match the version of the cdm
Update the rosetta.dsl.version property in the pom.xml to the DSL version used in the CDM (See pom.xml in the cdm project to get the correct version)
Build the set up tool using mvn
cd setup
mvn clean install
Run the executable jar file - this will update the builder-api.model.ts file to support the given cdm version.
Commit your changes (git commit -am 'Add some fooBar')
Push to the branch (git push origin feature/fooBar)
Create a new Pull Request
NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org