Details
-
Type: Bug
-
Status: Closed
-
Priority: Critical
-
Resolution: Duplicate
-
Affects Version/s: 1.5.2
-
Fix Version/s: None
-
Component/s: Engine
-
Labels:None
-
Environment:java 6, windows
Description
The function parseGroup(String msgType, StringField field, DataDictionary dd, FieldMap parent) in quickfix.Message.java does not consider a case where the first tag in the group is another group.
The code to parse the inner group is in else for a condition to check is that is a first field. Becuase the inner group is the first element, it does not prase the inner group anymore.
if (field.getTag() == firstField) {
if (group != null)
group = new Group(groupCountTag, firstField, groupDataDictionary.getOrderedFields());
group.setField(field);
firstFieldFound = true;
previousOffset = -1;
} else
I looked at the fix specification to see if that is a valid message, having a group as first tag in another group, I think it is allowed. I am using FIX 4.2 spec for this.
The simple but not the best fix is to pull the code out of the else and let is execute for the first field as well.
Attachments
Issue Links
- duplicates
-
QFJ-742 If the first field of a type is a group - it will not build the group
- Closed