[QFJ-483] QFJ Dictionary Generator Created: 02/Nov/09  Updated: 24/Aug/12  Resolved: 03/Aug/12

Status: Resolved
Project: QuickFIX/J
Component/s: Message Generation
Affects Version/s: 1.4.0
Fix Version/s: 1.5.3

Type: New Feature Priority: Default
Reporter: Morten Kristiansen Assignee: Christoph John
Resolution: Fixed Votes: 4
Labels: None

Attachments: File generator.tar    
Issue Links:
Relates
relates to QFJ-453 FIX 5.0 SP1 and SP2 Support Resolved

 Description   

We're currently working on a FIX integration towards a large European Exchange. One of the requirements from the Exchange FIX engine was to support FIX 5.0SP2. We had to do some minor fixes in the QFJ code to support this (I will not submit the changes here since I quess you have do something with the entire architecture in QFJ to support FIX 5.0 better (with the split of session and application protocol). What I would LIKE to submit, is some code we made for generating QFJ Dictionary files based on a FIX repository (we used this to generate our FIX5.0SP2.xml file).

Let me know if you would like to have a look at it. You'll probably want to do some changes to it, but it works. If you want it, where do you want the code sent/attached?



 Comments   
Comment by Steve Bate [ 15/Jan/10 ]

Yes, please attach patches for your changes (attachments have been reenabled). Thanks!

Comment by Steve Bate [ 25/Jan/10 ]

How did you handle the enum value descriptions so that they are compatible with code generation? This has been an ongoing issue with the FIX repository.

Comment by Morten Kristiansen [ 25/Jan/10 ]

Our Generator code attached.

Some notes:

You have a "fix" package where the top level class is Repository. It can bootstrap a repository based on a directory (containing a FIX repository)

Then you have a "quickfixj" package with the Generator class that uses the Repository class to generate a QJF xml dictionary file. Note that the Generator class supports a backupRepositoryDir. This code is not needed and was only used by us when generating dictionary towards the London Stock Exchange TradElect FIX Repository (see comment in Generator constructor for reason).

Let me know if you have questions.

You should be able to run this with:

java quickfixj.Generator [path to a FIX repository]

Comment by Toby Shepheard [ 29/Sep/11 ]

Thanks for this I've found it very useful for generating a 5.0SP2 version of the dictionary xml files.

Just a small note for anyone else making use of it. The newer 2010 FIX repository has changed the format somewhat, so the Generator code would need adapting. I've just used the older 2009 version (also available from the FIX website) which was fine for my needs.

Comment by Christoph John [ 02/Aug/12 ]

Committed as r1077.

Thanks to Morten for this useful contribution.
I've made some changes regarding ordering of tags, enum descriptions, etc, in order to make the dictionaries look more similar to the existing QFJ dictionaries.

Do not forget to correct the major/minor number in the session data dictionary after the generation finished.

As already stated by Toby, this generator only works with the FPL 2008/09 repository files (http://fixprotocol.org/repository-2008).

There are still some issues regarding the enums due to the description in the Enums.xml file. Some are just very long, others are named differently than before (e.g. AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION vs. AUTOMATED_EXECUTION_ORDER_PRIVATE). If someone finds that disturbing, please open a bug report for this.

Generated at Tue May 14 17:40:12 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.