From 5ce40b8a077b4fe60f256769920a84f22677fd88 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Sat, 26 Mar 2011 15:06:35 +0000 Subject: [PATCH] resolve addresses without geolocation git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@537 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- .../schildbach/pte/AbstractHafasProvider.java | 6 +++--- .../pte/live/SbbProviderLiveTest.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index f4416607..748f39c5 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -198,7 +198,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider public QueryConnectionsResult queryConnections(Location from, Location via, Location to, final Date date, final boolean dep, final String products, final WalkSpeed walkSpeed) throws IOException { - if (from.type == LocationType.ANY) + if (from.type == LocationType.ANY || (from.type == LocationType.ADDRESS && !from.hasLocation())) { final List autocompletes = autocompleteStations(from.name); if (autocompletes.isEmpty()) @@ -208,7 +208,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider from = autocompletes.get(0); } - if (via != null && via.type == LocationType.ANY) + if (via != null && (via.type == LocationType.ANY || (via.type == LocationType.ADDRESS && !via.hasLocation()))) { final List autocompletes = autocompleteStations(via.name); if (autocompletes.isEmpty()) @@ -218,7 +218,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider via = autocompletes.get(0); } - if (to.type == LocationType.ANY) + if (to.type == LocationType.ANY || (to.type == LocationType.ADDRESS && !to.hasLocation())) { final List autocompletes = autocompleteStations(to.name); if (autocompletes.isEmpty()) diff --git a/test/de/schildbach/pte/live/SbbProviderLiveTest.java b/test/de/schildbach/pte/live/SbbProviderLiveTest.java index 0337d48c..60d12e2b 100644 --- a/test/de/schildbach/pte/live/SbbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SbbProviderLiveTest.java @@ -46,6 +46,14 @@ public class SbbProviderLiveTest list(autocompletes); } + @Test + public void autoCompleteAddress() throws Exception + { + final List autocompletes = provider.autocompleteStations("Dorfstrasse 10, Dällikon, Schweiz"); + + list(autocompletes); + } + private void list(final List autocompletes) { System.out.print(autocompletes.size() + " "); @@ -99,4 +107,16 @@ public class SbbProviderLiveTest final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); System.out.println(moreResult); } + + @Test + public void connectionFromAddress() throws Exception + { + final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.ADDRESS, 0, null, + "Dorfstrasse 10, Dällikon, Schweiz"), null, new Location(LocationType.STATION, 8500010, null, "Basel"), new Date(), true, + ALL_PRODUCTS, WalkSpeed.NORMAL); + System.out.println(result); + final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); + System.out.println(moreResult); + } + }