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

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