package apps.makarov.com.whereismycurrency.mappers.json; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; import apps.makarov.com.whereismycurrency.DateUtils; import apps.makarov.com.whereismycurrency.StringUtils; import apps.makarov.com.whereismycurrency.mappers.Mapper; import apps.makarov.com.whereismycurrency.models.CurrencyPair; import apps.makarov.com.whereismycurrency.models.Rate; /** * Created by makarov on 28/06/15. */ public class RateJsonMapper implements Mapper<List<Rate>, JSONObject> { private final String baseCurrency; private final String compareCurrency; private final String bankName; public RateJsonMapper(String baseCurrency, String compareCurrency, String bankName){ this.baseCurrency = baseCurrency; this.compareCurrency = compareCurrency; this.bankName = bankName; } @Override public List<Rate> modelToData(JSONObject mJsonObject) { List<Rate> ratesList = new ArrayList<>(); try { Rate rate = new Rate(); String buyStr = StringUtils.getGoodLong(mJsonObject.getString("Buy")); double buyLong = Double.parseDouble(buyStr); rate.setValue(buyLong); rate.setChangeRate(DateUtils.getTodayDate()); rate.setCurrencyPair(CurrencyPair.createPair(baseCurrency, compareCurrency)); rate.setBank(bankName); ratesList.add(rate); Rate rateInvert = new Rate(); String sellStr = StringUtils.getGoodLong(mJsonObject.getString("Sell")); double sellLong = Double.parseDouble(sellStr); rateInvert.setValue(1 / sellLong); rateInvert.setChangeRate(DateUtils.getTodayDate()); rateInvert.setCurrencyPair(CurrencyPair.createPair(compareCurrency, baseCurrency)); rate.setBank(bankName); ratesList.add(rateInvert); } catch (JSONException e) { e.printStackTrace(); } return ratesList; } @Override public JSONObject dataToModel(List<Rate> obj) { return null; } }