From a12d20ff520c6d57efae83092cd599388cb8d39b Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Wed, 6 Jun 2012 13:20:52 +0200 Subject: [PATCH] handle API change of Leipzig departures --- .../src/de/schildbach/pte/NasaProvider.java | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/enabler/src/de/schildbach/pte/NasaProvider.java b/enabler/src/de/schildbach/pte/NasaProvider.java index 87e14849..fc8ec4ef 100644 --- a/enabler/src/de/schildbach/pte/NasaProvider.java +++ b/enabler/src/de/schildbach/pte/NasaProvider.java @@ -19,9 +19,7 @@ package de.schildbach.pte; import java.io.IOException; import java.util.List; -import java.util.regex.Pattern; -import de.schildbach.pte.dto.Line; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; @@ -54,6 +52,37 @@ public class NasaProvider extends AbstractHafasProvider return false; } + @Override + protected char intToProduct(final int value) + { + if (value == 1) + return 'I'; + if (value == 2) + return 'I'; + if (value == 4) + return 'R'; + if (value == 8) + return 'R'; + if (value == 16) + return 'S'; + if (value == 32) + return 'T'; + if (value == 64) + return 'B'; + if (value == 128) // Rufbus + return 'P'; + // if (value == 256) + // return 0; + // if (value == 512) + // return 0; + // if (value == 1024) // Autoreisezug + // return 0; + // if (value == 2048) + // return 0; + + throw new IllegalArgumentException("cannot handle: " + value); + } + @Override protected void setProductBits(final StringBuilder productBits, final char product) { @@ -143,23 +172,6 @@ public class NasaProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - private static final Pattern P_LINE_NUMBER = Pattern.compile("\\d{4,}"); - - @Override - protected Line parseLineWithoutType(final String line) - { - if (P_LINE_NUMBER.matcher(line).matches()) - return newLine('?' + line); - - return super.parseLineWithoutType(line); - } - - @Override - protected Line parseLineAndType(final String line) - { - return parseLineWithoutType(line); - } - @Override protected char normalizeType(String type) {