-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarification of the definition and use of the meta data annotations #777
Comments
Additionally, is the global key expected to be invariant between versions of the same "object?" IE Are all keys expected to be the same after update or, as long as reference consistency is maintained, can they change? |
@dschwartznyc |
@minesh-s-patel - checking in on this. |
There are 3 mechanisms for referencing in RUNE. Some of these concepts need to be reviewed and revised as they evolved along side the development of the CDM. Global Keys/Global References - Global keys are a pluggable infrastructure where a user of a RUNE model can "inject" calculated a uniquely identifying string to identify an instance of a RUNE type or a Basic Type, and references elsewhere.
External Keys/External References - These are keys that a user "sets" as meta data to any identifiable type.
More info needed for Address/Location:
The results of the default "Hash based" Global Keys algorithm shipped with the JAVA libraries are not designed to be shared across different implementations of systems built on top of a RUNE Model (even though this is desirable). A good place to look for how the Global Keys are injected into the model: https://github.com/finos/common-domain-model/tree/master/examples/src/main/java/com/regnosys/cdm/example/globalkey The hashing utility libraries can be seen here: https://github.com/finos/common-domain-model/blob/master/examples/src/test/java/com/regnosys/cdm/example/TestObjectsFactory.java The hashing algorithm for CDM is using the Java hashcode fuctionality - https://github.com/finos/rune-common/blob/0f18618e947a69cf69b28dc68329c6926a20b5ac/src/main/java/com/regnosys/rosetta/common/hashing/IntegerHashGenerator.java This is the processor that sets all global keys making use of the hashing algo - https://github.com/finos/rune-common/blob/0f18618e947a69cf69b28dc68329c6926a20b5ac/src/main/java/com/regnosys/rosetta/common/hashing/GlobalKeyProcessStep.java |
In prep for adding metadata support to the Python implementation, we (@priyanka-amarnani @plamen-neykov @davidcarrascosa00) are looking for clarification on the definition and use of meta data annotations.
A few questions at the start:
The text was updated successfully, but these errors were encountered: