Guest User

Untitled

a guest
Oct 17th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. package com.kodilla.good.patterns.flights;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.stream.Collectors;
  6.  
  7. public class FlightsApp {
  8. private FlightDb flightDb;
  9.  
  10. public FlightsApp(FlightDb flightDb) {
  11. this.flightDb = flightDb;
  12. }
  13.  
  14. public List<Flight> flightsFrom(String airportForDeparture) {
  15. return flightDb.getFlights().stream()
  16. .filter(f -> f.getAirportForDeparture().equals(airportForDeparture))
  17. .collect(Collectors.toList());
  18. }
  19.  
  20. public List<Flight> flightsTo(String airportForArrival) {
  21. return flightDb.getFlights().stream()
  22. .filter(f -> f.getAirportForArrival().equals(airportForArrival))
  23. .collect(Collectors.toList());
  24. }
  25.  
  26. //Warsaw > LA > Berlin
  27. public List<String> flightsThrough(String departure, String arrival) {
  28. List<String> middlewareAirports = flightsFrom(departure).stream()
  29. .map(flight->flight.getAirportForArrival())
  30. // .peek(f-> System.out.println(f))
  31. .collect(Collectors.toList());
  32.  
  33. List<String> middlewareAriportFromBack = flightsTo(arrival).stream()
  34. .map(flight -> flight.getAirportForDeparture())
  35. .peek(f-> System.out.println(f))
  36. .collect(Collectors.toList());
  37.  
  38. List<String> possibleMiddlewareAirport = new ArrayList<>();
  39. for(String first : middlewareAirports){
  40. for(String second : middlewareAriportFromBack){
  41. if(first.equals(second)){
  42. possibleMiddlewareAirport.add(first);
  43. }
  44. }
  45. }
  46.  
  47. return possibleMiddlewareAirport;
  48. };
  49. }
Add Comment
Please, Sign In to add comment