DefaultDataDictionaryProvider implements DataDictionaryProvider { public synchronized DataDictionary getSessionDataDictionary(String beginString) { DataDictionary dd = transportDictionaries.get(beginString); if (dd == null && findDataDictionaries) { String path = beginString.replace(".", "") + ".xml"; try { dd = new DataDictionary(path); transportDictionaries.put(beginString, dd); } catch (ConfigError e) { throw new QFJException(e); } } return dd; } DefaultDataDictionaryProvider();  DefaultDataDictionaryProvider(boolean findDataDictionaries); synchronized DataDictionary getSessionDataDictionary(String beginString); DataDictionary getApplicationDataDictionary(ApplVerID applVerID); void addTransportDictionary(String beginString, DataDictionary dd); void addApplicationDictionary(ApplVerID applVerID, DataDictionary dataDictionary);  }
@Test public void returnSessionDictionaryWithDiscovery() throws Exception { DefaultDataDictionaryProvider provider = new DefaultDataDictionaryProvider(); DataDictionary dd = provider.getSessionDataDictionary(FixVersions.BEGINSTRING_FIX40); assertThat(dd, is(notNullValue())); assertThat(dd.getVersion(), is(FixVersions.BEGINSTRING_FIX40)); }
@Test public void throwExceptionIfSessionDictionaryIsNotFound() throws Exception { DefaultDataDictionaryProvider provider = new DefaultDataDictionaryProvider(); try { provider.getSessionDataDictionary("FIX44_Invalid_Test"); } catch (QFJException e) { assertThat(e.getCause(), is(ConfigError.class)); } }