Navitia: Add support for products in queryTrips.

This commit is contained in:
Antonio El Khoury 2014-12-07 21:50:08 +01:00 committed by Andreas Schildbach
parent 54ea75fefc
commit 6255bd1d76
2 changed files with 34 additions and 1 deletions

View file

@ -1019,6 +1019,35 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
queryUri.append("&last_section_mode=bike"); queryUri.append("&last_section_mode=bike");
} }
// Set forbidden commercial modes.
if (!products.equals(Product.ALL))
{
if (!products.contains(Product.SUBURBAN_TRAIN))
{
queryUri.append("&forbidden_uris[]=commercial_mode:train");
}
if (!products.contains(Product.SUBWAY))
{
queryUri.append("&forbidden_uris[]=commercial_mode:metro");
}
if (!products.contains(Product.TRAM))
{
queryUri.append("&forbidden_uris[]=commercial_mode:tram");
}
if (!products.contains(Product.BUS))
{
queryUri.append("&forbidden_uris[]=commercial_mode:bus");
}
if (!products.contains(Product.FERRY))
{
queryUri.append("&forbidden_uris[]=commercial_mode:ferry");
}
if (!products.contains(Product.CABLECAR))
{
queryUri.append("&forbidden_uris[]=commercial_mode:cablecar");
}
}
final CharSequence page = ParserUtils.scrape(queryUri.toString(), authorization); final CharSequence page = ParserUtils.scrape(queryUri.toString(), authorization);
// System.out.println(queryUri); // System.out.println(queryUri);

View file

@ -22,6 +22,8 @@ import static org.junit.Assert.assertTrue;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import org.junit.Test; import org.junit.Test;
@ -228,8 +230,10 @@ public class ParisProviderLiveTest extends AbstractProviderLiveTest
@Test @Test
public void queryTripNoSolution() throws Exception public void queryTripNoSolution() throws Exception
{ {
final List<Product> emptyList = new LinkedList<Product>();
final QueryTripsResult result = queryTrips(new Location(LocationType.STATION, "stop_point:RTP:SP:3926410"), null, new Location( final QueryTripsResult result = queryTrips(new Location(LocationType.STATION, "stop_point:RTP:SP:3926410"), null, new Location(
LocationType.STATION, "stop_point:RTP:SP:3926410"), new Date(), true, Product.ALL, WalkSpeed.NORMAL, Accessibility.NEUTRAL); LocationType.STATION, "stop_point:RTP:SP:3926410"), new Date(), true, emptyList, WalkSpeed.NORMAL, Accessibility.NEUTRAL);
assertEquals(QueryTripsResult.Status.NO_TRIPS, result.status); assertEquals(QueryTripsResult.Status.NO_TRIPS, result.status);