package mapper; import api.v1.DPOrder; import models.OrderModel; import java.io.UnsupportedEncodingException; import java.math.RoundingMode; import java.net.URLEncoder; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; /** * Created by sveinhd on 12/9/16. */ public class DPOrderMapper { public List<DPOrder> mapToApi(List<OrderModel> mOrders) { List<DPOrder> dpOrderList = new ArrayList<>(); for (OrderModel mOrder : mOrders) { if ( mOrder.product.positionRequired ) { DPOrder dp = mapToApi(mOrder); if (dp != null) { dpOrderList.add(dp); } } } return dpOrderList; } private DPOrder mapToApi(OrderModel mOrder) { DecimalFormat df = new DecimalFormat("#.##"); df.setRoundingMode(RoundingMode.HALF_UP); DPOrder dpOrder = new DPOrder(); dpOrder.id = mOrder.id; String posname = mOrder.position.name; String name = mOrder.position_name != null & !mOrder.position_name.isEmpty()? mOrder.position_name:mOrder.position.name; try { dpOrder.name = URLEncoder.encode(name, "UTF-8"); dpOrder.posname = URLEncoder.encode(posname, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new UnsupportedOperationException(e); } dpOrder.name_dec = name; dpOrder.longitude = mOrder.position.longitude; dpOrder.latitude = mOrder.position.latitude; return dpOrder; } }