@@ -69,38 +69,34 @@ func createSession(sessionID SessionID, storeFactory MessageStoreFactory, settin
6969 //If the transport or app data dictionary setting is set, the other also needs to be set.
7070 hasTransportDataDictionary := settings .HasSetting (config .TransportDataDictionary )
7171 hasAppDataDictionary := settings .HasSetting (config .AppDataDictionary )
72- if hasTransportDataDictionary != hasAppDataDictionary {
73- if hasTransportDataDictionary {
74- return requiredConfigurationMissing (config .AppDataDictionary )
75- } else {
76- return requiredConfigurationMissing (config .TransportDataDictionary )
77- }
78- }
79-
80- var transportDataDictionary * datadictionary.DataDictionary
81- if transportDataDictionaryPath , err := settings .Setting (config .TransportDataDictionary ); err == nil {
82- if transportDataDictionary , err = datadictionary .Parse (transportDataDictionaryPath ); err != nil {
72+ if hasTransportDataDictionary && hasAppDataDictionary {
73+ transportDataDictionaryPath , _ := settings .Setting (config .TransportDataDictionary )
74+ transportDataDictionary , err := datadictionary .Parse (transportDataDictionaryPath )
75+ if err != nil {
8376 return err
8477 }
85- }
8678
87- var appDataDictionary * datadictionary. DataDictionary
88- if appDataDictionaryPath , err := settings . Setting ( config . AppDataDictionary ); err == nil {
89- if appDataDictionary , err = datadictionary . Parse ( appDataDictionaryPath ); err != nil {
79+ appDataDictionaryPath , _ := settings . Setting ( config . AppDataDictionary )
80+ appDataDictionary , err := datadictionary . Parse ( appDataDictionaryPath )
81+ if err != nil {
9082 return err
9183 }
92- }
9384
94- session .validator = & fixtValidator {transportDataDictionary , appDataDictionary , validatorSettings }
85+ session .validator = & fixtValidator {transportDataDictionary , appDataDictionary , validatorSettings }
86+ } else if hasTransportDataDictionary {
87+ return requiredConfigurationMissing (config .AppDataDictionary )
88+ } else if hasAppDataDictionary {
89+ return requiredConfigurationMissing (config .TransportDataDictionary )
90+ }
9591 } else {
9692 var dataDictionary * datadictionary.DataDictionary
9793 if dataDictionaryPath , err := settings .Setting (config .DataDictionary ); err == nil {
9894 if dataDictionary , err = datadictionary .Parse (dataDictionaryPath ); err != nil {
9995 return err
10096 }
101- }
10297
103- session .validator = & fixValidator {dataDictionary , validatorSettings }
98+ session .validator = & fixValidator {dataDictionary , validatorSettings }
99+ }
104100 }
105101
106102 if settings .HasSetting (config .ResetOnLogon ) {
@@ -362,8 +358,10 @@ func (s *session) verifySelect(msg Message, checkTooHigh bool, checkTooLow bool)
362358 }
363359 }
364360
365- if reject := s .validator .Validate (msg ); reject != nil {
366- return reject
361+ if s .validator != nil {
362+ if reject := s .validator .Validate (msg ); reject != nil {
363+ return reject
364+ }
367365 }
368366
369367 return s .fromCallback (msg )
0 commit comments