package pl.touk.chat.bot.janusz.commands.bus; import com.mashape.unirest.http.exceptions.UnirestException; import pl.touk.chat.bot.janusz.JanuszException; import pl.touk.chat.bot.janusz.commands.JanuszCommand; import java.util.List; import java.util.stream.Collectors; public class BusCommand implements JanuszCommand { private TransitApi transitApi; public BusCommand(TransitApi transitApi) { this.transitApi = transitApi; } @Override public String invoke(String sender, List<String> args) { try { List<Route> directions = transitApi.getDirections(args.get(0), args.get(1)); return directions.stream().map(route -> route.getSteps().stream() .map(step -> step.getLine() + " (" + step.getStop() + " o " + step.getDeparture() + ")") .collect(Collectors.joining(" -> ")) + " czas: " + route.getDuration() ).collect(Collectors.joining("\n")); } catch (UnirestException e) { throw new JanuszException(e); } } }