Skip to content

Conversation

@david-gibbs-ig
Copy link
Collaborator

This is a PR for tools to generate Apache Avro schemas from a FIX Orchestra repository. I think the best way to review this is to check it out and build it, there are READMEs in the project. If this is worthy; and following review, should the PR be approved, and before merging to main, please create the following Action Secrets for the organisation. This will permit the release to the Sonatype OSS Repository Hosting repository to be made by GitHub Actions workflows in the project. Also please make the Action Secrets available to this repository in the settings. These secrets are encrypted and cannot be viewed by collaborators. The secrets that this plan expects are :

Ref : https://central.sonatype.org/publish/publish-maven/#performing-a-release-deployment-with-the-maven-release-plugin

david-gibbs-ig and others added 30 commits March 8, 2022 19:49
added option to normalise groups and components
Initial commit to master
* change to mvn co-ordinates so a release of this project can be made before io.fixprotocol original version is released
* change to mvn co-ordinates so a release of this prject can be made before io.fixprotocol original branch is released
* change to mvn co-ordinates so a release of this project can be made before io.fixprotocol original branch is released
* added distribution management
* change to mvn co-ordinates so a release of this prject can be made before io.fixprotocol original branch is released
Copy link
Member

@donmendelson donmendelson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The FIX field types are mapped directly to Avro primitive types, many mapped to string. I'm concerned that some specialization is lost. For example, how is a timestamp written as a string in such a way that can be interpreted correctly by a reader. I see that Avro has "logical types", such as date and timestamp. Shouldn't we use those? For flexibility, mapping could be written in an Orchestra file as element mappedDatatype rather than hardcoding. The code doesn't consult the datatypes section at all.

@david-gibbs-ig
Copy link
Collaborator Author

david-gibbs-ig commented Apr 15, 2022

The FIX field types are mapped directly to Avro primitive types, many mapped to string. I'm concerned that some specialization is lost. For example, how is a timestamp written as a string in such a way that can be interpreted correctly by a reader. I see that Avro has "logical types", such as date and timestamp. Shouldn't we use those? For flexibility, mapping could be written in an Orchestra file as element mappedDatatype rather than hardcoding. The code doesn't consult the datatypes section at all.

I have added the datatype mappings and also support for Avro Logical Types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants