Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-732

Unable to parse messages when the first tag inside the group is another group

    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)

      { parent.addGroupRef(group); }

      group = new Group(groupCountTag, firstField, groupDataDictionary.getOrderedFields());
      group.setField(field);
      firstFieldFound = true;
      previousOffset = -1;
      } else

      { //there is code here to handle prasing the inner group. }

      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

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kirtiteja Srinivas Kirti Teja Rao
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: