Skip to content

Commit a2b7ed3

Browse files
andreydpAndrii Poletaiev
authored andcommitted
Add property to set repeating group delimiter from first tag in group. Add configuration setting and documentation
1 parent e60e3db commit a2b7ed3

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

quickfixj-core/src/main/doc/usermanual/usage/configuration.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,14 @@ <H3>QuickFIX Settings</H3>
464464
<TD> Y<br>N</TD>
465465
<TD> Y </TD>
466466
</TR>
467+
<TR ALIGN="left" VALIGN="middle">
468+
<TD><I>FirstFieldInGroupIsDelimiter</I></TD>
469+
<TD>Session validation setting for enabling whether first found field in repeating group will be used as
470+
delimiter. Values are "Y" or "N". Default is "N".</TD>
471+
<TD>Y<br>
472+
N</TD>
473+
<TD>N</TD>
474+
</TR>
467475

468476
<TR ALIGN="center" VALIGN="middle">
469477
<TD COLSPAN="4" class="subsection"><A NAME="Initiator">Initiator</A></TD>

quickfixj-core/src/main/java/quickfix/DefaultSessionFactory.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,11 @@ private DataDictionary createDataDictionary(SessionID sessionID, SessionSettings
309309
Session.SETTING_ALLOW_UNKNOWN_MSG_FIELDS));
310310
}
311311

312+
if (settings.isSetting(sessionID, Session.SETTING_FIRST_FIELD_IN_GROUP_IS_DELIMITER)) {
313+
dataDictionary.setCheckUnorderedGroupFields(settings.getBool(sessionID,
314+
Session.SETTING_FIRST_FIELD_IN_GROUP_IS_DELIMITER));
315+
}
316+
312317
return dataDictionary;
313318
}
314319

quickfixj-core/src/main/java/quickfix/Session.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,12 @@ public class Session implements Closeable {
376376
*/
377377
public static final String SETTING_RESEND_REQUEST_CHUNK_SIZE = "ResendRequestChunkSize";
378378

379+
/**
380+
* Session validation setting for enabling whether first found field in repeating group will be used as
381+
* delimiter. Values are "Y" or "N". Default is "N".
382+
*/
383+
public static final String SETTING_FIRST_FIELD_IN_GROUP_IS_DELIMITER = "FirstFieldInGroupIsDelimiter";
384+
379385
public static final String SETTING_MAX_SCHEDULED_WRITE_REQUESTS = "MaxScheduledWriteRequests";
380386

381387
public static final String SETTING_VALIDATE_CHECKSUM = "ValidateChecksum";

0 commit comments

Comments
 (0)