QuickFIX/J

Support Header/Trailer field ordering in code generation

Details

  • Type: Improvement Improvement
  • Status: Open Open
  • Priority: Default Default
  • Resolution: Unresolved
  • Affects Version/s: 1.4.0
  • Fix Version/s: Future Releases
  • Component/s: Engine
  • Labels:
    None

Description

To fully support custom FIX dictionary, we should take care of header fields defined in XML dictionary.

Issue Links

Activity

Hide
Jörg Thönnes added a comment - 16/Mar/09 5:51 PM

In reply to QFJ-416:
> To fully support custom FIX dictionary, we should take care of header fields
> defined in XML dictionary.

I would like to add that the ordering as defined in the data dictionary should be honoured.
Same applies to trailer fields.

Do you think this should be separate tickets?

Show
Jörg Thönnes added a comment - 16/Mar/09 5:51 PM In reply to QFJ-416: > To fully support custom FIX dictionary, we should take care of header fields > defined in XML dictionary. I would like to add that the ordering as defined in the data dictionary should be honoured. Same applies to trailer fields. Do you think this should be separate tickets?
Hide
Laurent Danesi added a comment - 16/Mar/09 6:52 PM

Yes, please.

Show
Laurent Danesi added a comment - 16/Mar/09 6:52 PM Yes, please.
Hide
Steve Bate added a comment - 16/Mar/09 8:36 PM

Ordering by default will lead to a potential performance hit for users that don't care about ordering.

Show
Steve Bate added a comment - 16/Mar/09 8:36 PM Ordering by default will lead to a potential performance hit for users that don't care about ordering.
Hide
Jörg Thönnes added a comment - 16/Mar/09 10:43 PM

In reply to comment #3:
>
> Ordering by default will lead to a potential performance hit for users that
> don't care about ordering.

Yes, but at the moment it is not possible to generate ordered Header and Trailer fields since the FieldMap constructor is not exposed.

My suggestion is to expose the field order constructor and extend the message generation to honour the generator option to create ordered messages.

In addition, the field sort is generated for every single message instance, but could by generated by a factory to use a single instance for every message type.

Show
Jörg Thönnes added a comment - 16/Mar/09 10:43 PM In reply to comment #3: > > Ordering by default will lead to a potential performance hit for users that > don't care about ordering. Yes, but at the moment it is not possible to generate ordered Header and Trailer fields since the FieldMap constructor is not exposed. My suggestion is to expose the field order constructor and extend the message generation to honour the generator option to create ordered messages. In addition, the field sort is generated for every single message instance, but could by generated by a factory to use a single instance for every message type.
Hide
Jörg Thönnes added a comment - 16/Mar/09 10:47 PM

Sorry for the duplicate comments.

The JIRA version used by QuickFIX/J has a bug which triggers errors with my Eclipse Mylyn plugin. So I did not know that I already submitted the comment.

Show
Jörg Thönnes added a comment - 16/Mar/09 10:47 PM Sorry for the duplicate comments. The JIRA version used by QuickFIX/J has a bug which triggers errors with my Eclipse Mylyn plugin. So I did not know that I already submitted the comment.
Hide
Steve Bate added a comment - 05/Apr/10 3:03 AM

It appears the request is also to validate the ordering.

Show
Steve Bate added a comment - 05/Apr/10 3:03 AM It appears the request is also to validate the ordering.
Hide
Phill Dixon added a comment - 27/Sep/10 12:42 PM

To add a custom field to a Trailer I also found that I had to edit the quickfix.Message object as the Trailer class has a hardcoded field order and any tag added to it which did not appear resulted in an invalid tag error. This occured when sending the Logon message with the new custom field in the trailer. The DataDictionary xml file had been modified but was apparently ignored.

There is also a hardcoded case statement for isTrailerField which needs modifying.

It would be useful if the XML file was respected.

Show
Phill Dixon added a comment - 27/Sep/10 12:42 PM To add a custom field to a Trailer I also found that I had to edit the quickfix.Message object as the Trailer class has a hardcoded field order and any tag added to it which did not appear resulted in an invalid tag error. This occured when sending the Logon message with the new custom field in the trailer. The DataDictionary xml file had been modified but was apparently ignored. There is also a hardcoded case statement for isTrailerField which needs modifying. It would be useful if the XML file was respected.

People

Vote (1)
Watch (1)

Dates

  • Created:
    16/Mar/09 5:11 PM
    Updated:
    21/Jun/11 11:37 PM