You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RoutesBusiness.java 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.rthoni.stssaguenay.business;
  2. import com.luticate.utils.business.LuConsumer;
  3. import com.luticate.utils.business.LuPromise;
  4. import com.luticate.utils.dbo.LuDataAccessConfigDbo;
  5. import com.luticate.utils.dbo.LuPromiseError;
  6. import com.rthoni.stssaguenay.dataaccess.RoutesDataAccess;
  7. import com.rthoni.stssaguenay.dbo.RoutesDbo;
  8. import java.util.List;
  9. import java.util.Vector;
  10. /**
  11. * Created by robin on 9/30/16.
  12. */
  13. public class RoutesBusiness {
  14. private static List<RoutesDbo> _routesDbos = null;
  15. public static LuPromise<List<RoutesDbo>> getAll(LuDataAccessConfigDbo config)
  16. {
  17. final LuPromise<List<RoutesDbo>> promise = new LuPromise<>();
  18. if (_routesDbos == null) {
  19. RoutesDataAccess.getAll(config).then(new LuConsumer<List<RoutesDbo>>() {
  20. @Override
  21. public void execute(List<RoutesDbo> data) {
  22. _routesDbos = data;
  23. promise.resolve(data);
  24. }
  25. }, new LuConsumer<LuPromiseError>() {
  26. @Override
  27. public void execute(LuPromiseError data) {
  28. promise.reject(data);
  29. }
  30. });
  31. }
  32. else {
  33. promise.resolve(_routesDbos);
  34. }
  35. return promise;
  36. }
  37. public static List<RoutesDbo> getRoutesDbos(List<RoutesDbo> routesDbos, List<String> routes)
  38. {
  39. List<RoutesDbo> filteredRoutes = new Vector<>();
  40. for (RoutesDbo routeDbo : routesDbos) {//TODO invert loops and sort Routes
  41. for (String route : routes) {
  42. if (routeDbo.getId().equals(route)) {
  43. filteredRoutes.add(routeDbo);
  44. }
  45. }
  46. }
  47. return filteredRoutes;
  48. }
  49. }