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

Fields in groups will not be checked.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Default
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.2.1
    • Fix Version/s: 1.3.2
    • Component/s: Engine
    • Labels:
      None

      Description

      If there are repeating groups or fields in a group, they will not be verified when received.

      1. When verify the field in a fieldMap, fields in groups must be vevified.
      DataDictionary.iterate(FieldMap map, String msgType) is the method to verify fields. It could be invoked in recursion.

      Add this into DataDictionary:
      // Check the fields and groups in groups.
      if (isGroup(msgType, field.getField())) {
      checkGroupCount(field, map, msgType);
      List groupMembers = map.getGroups(field.getField());
      Group originalGroup = (Group) groupMembers.get(0);

      for (int i = 0; i < groupMembers.size(); i++)

      { originalGroup = (Group) groupMembers.get(i); GroupInfo rg = getGroup(msgType, field.getField()); DataDictionary group_dataDictionary = rg.getDataDictionary(); group_dataDictionary.hasVersion = this.hasVersion; group_dataDictionary.beginString = this.beginString; group_dataDictionary.fieldValues = this.fieldValues; group_dataDictionary.fieldTypes = this.fieldTypes; group_dataDictionary.iterate(originalGroup, msgType); }

      }

      2. Groups must be added into memory from *.xml.
      Add this into DataDictionary.addXMLGroup():
      groupDD.addMsgField(msgtype, field);

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                caiqi CaiQi
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: