But when the appropriate CurrencyProvider imp is loaded and getCurrencies(CurrencyQuery) is invoked, the following code results into NPE.
if (!query.isEmpty() && query.getProviderName().equals("SomeName")) {
for (CurrencyUnit c : currencySet) {
if (c.getCurrencyCodes().equals(query.getCurrencyCodes()) {
return Collections.singleton(c);
}
}
}
We are always building the currency query such that it will have a provider name and currency unit. The above code results into an NPE for getProviderName() where a provider name actually exists.
The following code generates a query successfully
CurrencyQuery query = CurrencyQueryBuilder.of().setProviderName("ProviderClassName").setCurrencyCodes("CNH").build();
But when the appropriate CurrencyProvider imp is loaded and getCurrencies(CurrencyQuery) is invoked, the following code results into NPE.
We are always building the currency query such that it will have a provider name and currency unit. The above code results into an NPE for getProviderName() where a provider name actually exists.