public BigDecimal calculateAverageValue(List<TabelaKursowType> list, Currency currency) { BigDecimal sum = BigDecimal.ZERO; int count = 0; for (TabelaKursowType tabela : list) { for (PozycjaType pozycja : tabela.getPozycja()) { if (!isValidCurrency(pozycja, currency)) { continue; } LOGGER.debug("Add: " + pozycja.getKursKupna()); sum = sum.add(BigDecimal.valueOf(Double.valueOf(pozycja.getKursKupna().replace(",", ".")))); ++count; } } return sum.divide(BigDecimal.valueOf(count), SCALE, BigDecimal.ROUND_HALF_UP); }
private double[] getKursKupnaArray(List<TabelaKursowType> list, Currency currency) { List<Double> values = new ArrayList<>(); for (TabelaKursowType tabela : list) { for (PozycjaType pozycja : tabela.getPozycja()) { if (!isValidCurrency(pozycja, currency)) { continue; } LOGGER.debug("Add to array: " + pozycja.getKursKupna()); values.add(Double.valueOf(pozycja.getKursKupna().replace(",", "."))); } } double[] response = new double[values.size()]; for (int i = 0; i < values.size(); i++) { response[i] = values.get(i); } return response; }
private boolean isValidCurrency(PozycjaType pozycja, Currency currency) { return pozycja.getKodWaluty() != null && pozycja.getKodWaluty().equals(currency); }