diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index 4a42b11c..9fa9f3ee 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -268,7 +268,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider if (code.equals("K9380")) return QueryConnectionsResult.TOO_CLOSE; if (code.equals("K9220")) // Nearby to the given address stations could not be found - return QueryConnectionsResult.NO_CONNECTIONS; + return QueryConnectionsResult.UNRESOLVABLE_ADDRESS; if (code.equals("K890")) // No connections found return QueryConnectionsResult.NO_CONNECTIONS; throw new IllegalStateException("error " + code + " " + XmlPullUtil.attr(pp, "text")); diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 2e7b9f4c..a5d5c202 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -159,7 +159,7 @@ public final class BahnProvider extends AbstractHafasProvider "", Pattern.DOTALL); private static final Pattern P_ADDRESSES = Pattern.compile("]*>\\s*(.*?)\\s*", Pattern.DOTALL); private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern - .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(leider konnte zu Ihrer Anfrage keine Verbindung gefunden werden)|(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)"); + .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)"); @Override public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep, @@ -232,10 +232,12 @@ public final class BahnProvider extends AbstractHafasProvider if (mError.group(1) != null) return QueryConnectionsResult.TOO_CLOSE; if (mError.group(2) != null) - return QueryConnectionsResult.NO_CONNECTIONS; + return QueryConnectionsResult.UNRESOLVABLE_ADDRESS; if (mError.group(3) != null) - return QueryConnectionsResult.INVALID_DATE; + return QueryConnectionsResult.NO_CONNECTIONS; if (mError.group(4) != null) + return QueryConnectionsResult.INVALID_DATE; + if (mError.group(5) != null) throw new SessionExpiredException(); } diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java index 7bdeb82f..684c5b52 100644 --- a/src/de/schildbach/pte/BvgProvider.java +++ b/src/de/schildbach/pte/BvgProvider.java @@ -179,7 +179,7 @@ public final class BvgProvider implements NetworkProvider private static final Pattern P_CHECK_FROM = Pattern.compile("Von:"); private static final Pattern P_CHECK_TO = Pattern.compile("Nach:"); private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern - .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)"); + .compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)"); public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep, final String products, final WalkSpeed walkSpeed) throws IOException @@ -193,8 +193,10 @@ public final class BvgProvider implements NetworkProvider if (mError.group(1) != null) return QueryConnectionsResult.TOO_CLOSE; if (mError.group(2) != null) - return QueryConnectionsResult.NO_CONNECTIONS; + return QueryConnectionsResult.UNRESOLVABLE_ADDRESS; if (mError.group(3) != null) + return QueryConnectionsResult.NO_CONNECTIONS; + if (mError.group(4) != null) return QueryConnectionsResult.INVALID_DATE; } diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 4931f404..018d4bcd 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -157,7 +157,8 @@ public class RmvProvider extends AbstractHafasProvider private static final Pattern P_ADDRESSES = Pattern.compile( ".*?\\s*(.*?)\\s*.*?", Pattern.DOTALL); private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern.compile( - "(mehrfach vorhanden oder identisch)|(keine Verbindung gefunden werden)|(derzeit nur Auskünfte vom)", Pattern.CASE_INSENSITIVE); + "(mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)", + Pattern.CASE_INSENSITIVE); @Override public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep, @@ -172,8 +173,10 @@ public class RmvProvider extends AbstractHafasProvider if (mError.group(1) != null) return QueryConnectionsResult.TOO_CLOSE; if (mError.group(2) != null) - return QueryConnectionsResult.NO_CONNECTIONS; + return QueryConnectionsResult.UNRESOLVABLE_ADDRESS; if (mError.group(3) != null) + return QueryConnectionsResult.NO_CONNECTIONS; + if (mError.group(4) != null) return QueryConnectionsResult.INVALID_DATE; }