Skip to content

Commit 2d21835

Browse files
andreydpAndrii Poletaiev
authored andcommitted
Post a warning in case setting is enabled but validate unordered group field is set to true
1 parent 23de161 commit 2d21835

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
import org.quickfixj.QFJException;
2323
import org.quickfixj.SimpleCache;
24+
import org.slf4j.Logger;
25+
import org.slf4j.LoggerFactory;
2426
import quickfix.field.ApplVerID;
2527
import quickfix.field.DefaultApplVerID;
2628

@@ -37,6 +39,7 @@
3739
* initiators) for creating sessions.
3840
*/
3941
public class DefaultSessionFactory implements SessionFactory {
42+
private final static Logger log = LoggerFactory.getLogger(DefaultSessionFactory.class);
4043
private static final SimpleCache<String, DataDictionary> dictionaryCache = new SimpleCache<>(path -> {
4144
try {
4245
return new DataDictionary(path);
@@ -319,9 +322,18 @@ private ValidationSettings createValidationSettings(SessionID sessionID, Session
319322
Session.SETTING_FIRST_FIELD_IN_GROUP_IS_DELIMITER));
320323
}
321324

325+
validateValidationSettings(validationSettings);
326+
322327
return validationSettings;
323328
}
324329

330+
private void validateValidationSettings(ValidationSettings validationSettings) {
331+
if (validationSettings.isFirstFieldInGroupIsDelimiter() && validationSettings.isCheckUnorderedGroupFields()) {
332+
log.warn("Setting " + Session.SETTING_FIRST_FIELD_IN_GROUP_IS_DELIMITER
333+
+ " requires " + Session.SETTING_VALIDATE_UNORDERED_GROUP_FIELDS + " to be set to false");
334+
}
335+
}
336+
325337
private void processFixtDataDictionaries(SessionID sessionID, SessionSettings settings,
326338
DefaultDataDictionaryProvider dataDictionaryProvider) throws ConfigError,
327339
FieldConvertError {

0 commit comments

Comments
 (0)