From af6c3338e1d8ef5bfc86c044d75cef5305ab4262 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Tue, 10 May 2011 11:16:08 +0000 Subject: [PATCH] fixed Belgium connections git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@634 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- .../schildbach/pte/AbstractHafasProvider.java | 10 ++++---- src/de/schildbach/pte/SncbProvider.java | 3 +++ .../pte/live/SncbProviderLiveTest.java | 24 +++++++++++++++---- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index 99718892..497efe38 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -630,8 +630,12 @@ public abstract class AbstractHafasProvider implements NetworkProvider throw new IllegalStateException("error " + code + " " + XmlPullUtil.attr(pp, "text")); } - XmlPullUtil.require(pp, "ConResCtxt"); - final String context = XmlPullUtil.text(pp); + final String context; + if (XmlPullUtil.test(pp, "ConResCtxt")) + context = XmlPullUtil.text(pp); + else + context = null; + XmlPullUtil.enter(pp, "ConnectionList"); final List connections = new ArrayList(); @@ -1254,8 +1258,6 @@ public abstract class AbstractHafasProvider implements NetworkProvider return 'T'; // if ("T".equals(normalizedType)) // Tram // return "T" + normalizedName; - // if ("Tramway".equals(normalizedType)) - // return "T" + normalizedName; // Bus if ("BUS".equals(ucType)) // Generic Bus diff --git a/src/de/schildbach/pte/SncbProvider.java b/src/de/schildbach/pte/SncbProvider.java index 4bce7c14..5308a19f 100644 --- a/src/de/schildbach/pte/SncbProvider.java +++ b/src/de/schildbach/pte/SncbProvider.java @@ -223,6 +223,9 @@ public class SncbProvider extends AbstractHafasProvider if (ucType.equals("MÉT")) return 'U'; + if (ucType.equals("TRAMWAY")) + return 'T'; + final char t = super.normalizeType(type); if (t != 0) return t; diff --git a/test/de/schildbach/pte/live/SncbProviderLiveTest.java b/test/de/schildbach/pte/live/SncbProviderLiveTest.java index eb4de643..dbd2715b 100644 --- a/test/de/schildbach/pte/live/SncbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SncbProviderLiveTest.java @@ -83,8 +83,13 @@ public class SncbProviderLiveTest { final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 100024), null, new Location( LocationType.STATION, 100066), new Date(), true, null, WalkSpeed.FAST); - System.out.println(result.status + " " + result.connections); + + if (result.context != null) + { + final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); + System.out.println(moreResult.status + " " + moreResult.connections); + } } @Test @@ -92,8 +97,13 @@ public class SncbProviderLiveTest { final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 100024), null, new Location( LocationType.STATION, 103624), new Date(), true, null, WalkSpeed.FAST); - System.out.println(result.status + " " + result.connections); + + if (result.context != null) + { + final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); + System.out.println(moreResult.status + " " + moreResult.connections); + } } @Test @@ -102,8 +112,12 @@ public class SncbProviderLiveTest final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.ADDRESS, 0, null, "Bruxelles - Haren, Rue Paul Janson 9"), 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); + System.out.println(result.status + " " + result.connections); + + if (result.context != null) + { + final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); + System.out.println(moreResult.status + " " + moreResult.connections); + } } }