package services;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.w3c.dom.Document;
import play.Play;
import play.libs.F.Promise;
import play.libs.ws.WS;
import play.libs.ws.WSClient;
import play.libs.ws.WSResponse;
@Service
public class ExternalCallServiceImpl implements ExternalCallService {
// private WSClient ws = WS.client();
// @Autowired
// private WSClient ws;
@Override
public Document getAgencyListXml() {
Promise<WSResponse> responsePromise = WS.url(Play.application().configuration().getString("nextbus.agencylist")).get();
play.Logger.info("Getting Agency List from" + Play.application().configuration().getString("nextbus.agencylist"));
return responsePromise.get(Play.application().configuration().getInt("external.timeout")).asXml();
}
@Override
public Document getRouteListXml(String agency) {
Promise<WSResponse> responsePromise = WS.url(Play.application().configuration().getString("nextbus.routelist") + "&a=" + agency).get();
play.Logger.info("Getting Route List from" + Play.application().configuration().getString("nextbus.routelist") + "&a=" + agency);
return responsePromise.get(Play.application().configuration().getInt("external.timeout")).asXml();
}
@Override
public Document getRouteConfigXml(String agency, String route) {
String url = Play.application().configuration().getString("nextbus.routeconfig");
url = url + "&a=" + agency + "&r=" + route;
Promise<WSResponse> responsePromise = WS.url(url).get();
play.Logger.info("Getting Route Config from" + url);
return responsePromise.get(Play.application().configuration().getInt("external.timeout")).asXml();
}
}