[QFJ-170] Repeating group not parsed correctly Created: 01/May/07 Updated: 10/May/07 Resolved: 10/May/07 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | Message Generation |
Affects Version/s: | 1.1.0 |
Fix Version/s: | None |
Type: | Bug | Priority: | Default |
Reporter: | Naresh Bhatia | Assignee: | Steve Bate |
Resolution: | Not a bug | Votes: | 0 |
Labels: | None | ||
Environment: |
Windows |
Attachments: | FixMessageFactoryTest.java |
Description |
The attached program creates a NewOrderSingle message with a NoAllocs group repeating twice. It converts the message to a string and then parses the string back to a message. Unfortunately one instance of the repeating group is lost, only one instance shows up when the parsed message is converted back to a string. I really hope that I am overlooking something! |
Comments |
Comment by Naresh Bhatia [ 01/May/07 ] |
BTW, here's the output from the sample program. The two message strings should be equal, but they are not: Message1: 8=FIX.4.49=14135=D34=10049=COOLTRD52=20070501-00:17:2556=MA11=ORDER_3091738=100.540=154=155=IBM60=20070501-00:17:2578=279=Account179=Account210=205 Message2: 8=FIX.4.49=12935=D34=10049=COOLTRD52=20070501-00:17:2556=MA11=ORDER_3091738=100.540=154=155=IBM60=20070501-00:17:2578=279=Account210=039 Note that Account1 is missing from Message2. |
Comment by Steve Bate [ 10/May/07 ] |
To parse a message with a repeating group, you must include a data dictionary. The data dictionary provides metadata to know which fields are part of repeating groups. Your test program did not use a DD when parsing the message. After adding the DD argument to the message constructor, the test worked correctly. |
Comment by Steve Bate [ 10/May/07 ] |
By the way, thanks for the test case. |
Comment by Naresh Bhatia [ 10/May/07 ] |
Thanks Steve. It works beautifully after adding the data dictionary. Perhaps this would be a useful tip to add to the docs. |