package com.rthoni.stssaguenay.business; import com.luticate.utils.business.LuPromise; import com.luticate.utils.dbo.LuDataAccessConfigDbo; import com.rthoni.stssaguenay.dataaccess.RoutesDataAccess; import com.rthoni.stssaguenay.dbo.RoutesDbo; import java.util.List; import java.util.Vector; /** * Created by robin on 9/30/16. */ public class RoutesBusiness { private static List _routesDbos = null; public static LuPromise> getAll(LuDataAccessConfigDbo config) { final LuPromise> promise = new LuPromise<>(); if (_routesDbos == null) { RoutesDataAccess.getAll(config).then(new LuPromise.LuConsumer>() { @Override public void execute(List data) { _routesDbos = data; promise.resolve(data); } }, new LuPromise.LuConsumer() { @Override public void execute(LuPromise.LuPromiseError data) { promise.reject(data); } }); } else { promise.resolve(_routesDbos); } return promise; } public static List getRoutesDbos(List routesDbos, List routes) { List filteredRoutes = new Vector<>(); for (RoutesDbo routeDbo : routesDbos) {//TODO invert loops and sort Routes for (String route : routes) { if (routeDbo.getId().equals(route)) { filteredRoutes.add(routeDbo); } } } return filteredRoutes; } }