private void parseTrailer(DataDictionary dd) throws InvalidMessage { StringField field = extractField(dd, trailer); while (field != null) { if (!isTrailerField(field, dd)) { throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } trailer.setField(field); field = extractField(dd, trailer); } }
private void parseTrailer(DataDictionary dd) throws InvalidMessage { StringField field = extractField(dd, trailer); while (field != null) { if (!isTrailerField(field, dd)) { throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } trailer.setField(field); field = extractField(dd, trailer); } }
private boolean isNextField(DataDictionary dd, Header fields, int tag) throws InvalidMessage { final StringField field = extractField(dd, header); if (field == null || field.getTag() != tag) { return false; } fields.setField(field); return true; }
private boolean isNextField(DataDictionary dd, Header fields, int tag) throws InvalidMessage { final StringField field = extractField(dd, header); if (field == null || field.getTag() != tag) { return false; } fields.setField(field); return true; }
private boolean isNextField(DataDictionary dd, Header fields, int tag) throws InvalidMessage { final StringField field = extractField(dd, header); if (field == null || field.getTag() != tag) { return false; } fields.setField(field); return true; }
private void parseTrailer(DataDictionary dd) throws InvalidMessage { StringField field = extractField(dd, trailer); while (field != null) { if (!isTrailerField(field, dd)) { throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } trailer.setField(field); field = extractField(dd, trailer); } }
private void parseHeader(DataDictionary dd, boolean doValidation) throws InvalidMessage { if (doValidation) { final boolean validHeaderFieldOrder = isNextField(dd, header, BeginString.FIELD) && isNextField(dd, header, BodyLength.FIELD) && isNextField(dd, header, MsgType.FIELD); if (!validHeaderFieldOrder) { // Invalid message preamble (first three fields) is a serious // condition and is handled differently from other message parsing errors. throw MessageUtils.newInvalidMessageException("Header fields out of order in " + messageData, MessageUtils.getMinimalMessage(messageData)); } } StringField field = extractField(dd, header); while (field != null && isHeaderField(field, dd)) { header.setField(field); if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } field = extractField(dd, header); } pushBack(field); }
private void parseHeader(DataDictionary dd, boolean doValidation) throws InvalidMessage { if (doValidation) { final boolean validHeaderFieldOrder = isNextField(dd, header, BeginString.FIELD) && isNextField(dd, header, BodyLength.FIELD) && isNextField(dd, header, MsgType.FIELD); if (!validHeaderFieldOrder) { // Invalid message preamble (first three fields) is a serious // condition and is handled differently from other message parsing errors. throw new InvalidMessage("Header fields out of order in " + messageData); } } StringField field = extractField(dd, header); while (field != null && isHeaderField(field, dd)) { header.setField(field); if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } field = extractField(dd, header); } pushBack(field); }
private void parseHeader(DataDictionary dd, boolean doValidation) throws InvalidMessage { if (doValidation) { final boolean validHeaderFieldOrder = isNextField(dd, header, BeginString.FIELD) && isNextField(dd, header, BodyLength.FIELD) && isNextField(dd, header, MsgType.FIELD); if (!validHeaderFieldOrder) { // Invalid message preamble (first three fields) is a serious // condition and is handled differently from other message parsing errors. throw MessageUtils.newInvalidMessageException("Header fields out of order in " + messageData, MessageUtils.getMinimalMessage(messageData)); } } StringField field = extractField(dd, header); while (field != null && isHeaderField(field, dd)) { header.setField(field); if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } field = extractField(dd, header); } pushBack(field); }
private void parseBody(DataDictionary dd, boolean doValidation) throws InvalidMessage { StringField field = extractField(dd, this); while (field != null) { if (isTrailerField(field.getField())) { pushBack(field); return; } if (isHeaderField(field.getField())) { // An acceptance test requires the sequence number to // be available even if the related field is out of order setField(header, field); // Group case if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } if (doValidation && dd != null && dd.isCheckFieldsOutOfOrder()) throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } else { setField(this, field); // Group case if (dd != null && dd.isGroup(getMsgType(), field.getField())) { parseGroup(getMsgType(), field, dd, dd, this, doValidation); } } field = extractField(dd, this); } }
private void parseBody(DataDictionary dd, boolean doValidation) throws InvalidMessage { StringField field = extractField(dd, this); while (field != null) { if (isTrailerField(field.getField())) { pushBack(field); return; } if (isHeaderField(field.getField())) { // An acceptance test requires the sequence number to // be available even if the related field is out of order setField(header, field); // Group case if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } if (doValidation && dd != null && dd.isCheckFieldsOutOfOrder()) throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } else { setField(this, field); // Group case if (dd != null && dd.isGroup(getMsgType(), field.getField())) { parseGroup(getMsgType(), field, dd, dd, this, doValidation); } } field = extractField(dd, this); } }
private void parseBody(DataDictionary dd, boolean doValidation) throws InvalidMessage { StringField field = extractField(dd, this); while (field != null) { if (isTrailerField(field.getField())) { pushBack(field); return; } if (isHeaderField(field.getField())) { // An acceptance test requires the sequence number to // be available even if the related field is out of order setField(header, field); // Group case if (dd != null && dd.isGroup(DataDictionary.HEADER_ID, field.getField())) { parseGroup(DataDictionary.HEADER_ID, field, dd, dd, header, doValidation); } if (doValidation && dd != null && dd.isCheckFieldsOutOfOrder()) throw new FieldException(SessionRejectReason.TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER, field.getTag()); } else { setField(this, field); // Group case if (dd != null && dd.isGroup(getMsgType(), field.getField())) { parseGroup(getMsgType(), field, dd, dd, this, doValidation); } } field = extractField(dd, this); } }
boolean inGroupParse = true; while (inGroupParse) { field = extractField(dd, group != null ? group : parent); if (field == null) {
boolean inGroupParse = true; while (inGroupParse) { field = extractField(dd, group != null ? group : parent); if (field == null) {
boolean inGroupParse = true; while (inGroupParse) { field = extractField(dd, group != null ? group : parent); if (field == null) {