From 25d25fd83988ff6d0fe07e232a978e35c400066c Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Thu, 27 Feb 2014 23:25:29 +0100 Subject: [PATCH] Lines. --- .../de/schildbach/pte/AbstractEfaProvider.java | 2 ++ enabler/src/de/schildbach/pte/BahnProvider.java | 3 +++ enabler/src/de/schildbach/pte/BayernProvider.java | 2 ++ enabler/src/de/schildbach/pte/NvbwProvider.java | 2 ++ enabler/src/de/schildbach/pte/RtProvider.java | 3 +++ enabler/src/de/schildbach/pte/TflProvider.java | 3 +++ enabler/src/de/schildbach/pte/TlemProvider.java | 13 +++++++++++++ enabler/src/de/schildbach/pte/TlwmProvider.java | 13 +++++++++++++ enabler/src/de/schildbach/pte/VrrProvider.java | 3 +++ enabler/src/de/schildbach/pte/VvoProvider.java | 15 +++++++++++++++ 10 files changed, 59 insertions(+) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index d9c1c2f8..38fd3e3d 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1128,6 +1128,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "IEST" + trainNum; if ("EIC".equals(trainType)) // Ekspres InterCity, Polen return "IEIC" + trainNum; + if ("MT".equals(trainType) && "Schnee-Express".equals(trainName)) + return "IMT" + trainNum; if ("Zug".equals(trainName)) return 'R' + symbol; diff --git a/enabler/src/de/schildbach/pte/BahnProvider.java b/enabler/src/de/schildbach/pte/BahnProvider.java index 8fae81d8..19ef5faf 100644 --- a/enabler/src/de/schildbach/pte/BahnProvider.java +++ b/enabler/src/de/schildbach/pte/BahnProvider.java @@ -215,6 +215,9 @@ public final class BahnProvider extends AbstractHafasProvider { final String ucType = type.toUpperCase(); + if ("MT".equals(ucType)) // Schnee-Express + return 'I'; + if ("DZ".equals(ucType)) // Dampfzug return 'R'; diff --git a/enabler/src/de/schildbach/pte/BayernProvider.java b/enabler/src/de/schildbach/pte/BayernProvider.java index ac16bc70..93acdf28 100644 --- a/enabler/src/de/schildbach/pte/BayernProvider.java +++ b/enabler/src/de/schildbach/pte/BayernProvider.java @@ -71,6 +71,8 @@ public class BayernProvider extends AbstractEfaProvider { if ("0".equals(mot)) { + if ("M".equals(trainType) && trainNum != null && trainName != null && trainName.endsWith("Meridian")) + return "RM" + trainNum; if ("ZUG".equals(trainType) && trainNum != null) return "R" + trainNum; } diff --git a/enabler/src/de/schildbach/pte/NvbwProvider.java b/enabler/src/de/schildbach/pte/NvbwProvider.java index abb801ee..c71ffef8 100644 --- a/enabler/src/de/schildbach/pte/NvbwProvider.java +++ b/enabler/src/de/schildbach/pte/NvbwProvider.java @@ -57,6 +57,8 @@ public class NvbwProvider extends AbstractEfaProvider return "RRR" + trainNum; if ("Meridian".equals(trainName) && symbol != null) return "R" + symbol; + if ("BSB-Zug".equals(longName)) + return "SBSB"; if ("Bay. Seenschifffahrt".equals(trainName) && symbol != null) return "F" + symbol; } diff --git a/enabler/src/de/schildbach/pte/RtProvider.java b/enabler/src/de/schildbach/pte/RtProvider.java index 581fb553..de738677 100644 --- a/enabler/src/de/schildbach/pte/RtProvider.java +++ b/enabler/src/de/schildbach/pte/RtProvider.java @@ -149,6 +149,9 @@ public class RtProvider extends AbstractHafasProvider { final String ucType = type.toUpperCase(); + if ("ICD".equals(ucType)) // Intercity direkt Amsterdam-Breda + return 'I'; + if ("E".equals(ucType)) // Romania, Croatia return 'R'; if ("N".equals(ucType)) // Frankreich, Tours diff --git a/enabler/src/de/schildbach/pte/TflProvider.java b/enabler/src/de/schildbach/pte/TflProvider.java index 19b94826..6c12be8d 100644 --- a/enabler/src/de/schildbach/pte/TflProvider.java +++ b/enabler/src/de/schildbach/pte/TflProvider.java @@ -117,6 +117,9 @@ public class TflProvider extends AbstractEfaProvider else if ("London Overground".equals(trainName) || "=LO".equals(trainType)) return "SLO" + trainNum; + + else if ("Underground".equals(trainName) && trainType == null && name != null) + return "U" + name; } else if ("3".equals(mot)) { diff --git a/enabler/src/de/schildbach/pte/TlemProvider.java b/enabler/src/de/schildbach/pte/TlemProvider.java index 58e5016d..1970b239 100644 --- a/enabler/src/de/schildbach/pte/TlemProvider.java +++ b/enabler/src/de/schildbach/pte/TlemProvider.java @@ -62,6 +62,19 @@ public class TlemProvider extends AbstractEfaProvider return false; } + @Override + protected String parseLine(final String mot, final String symbol, final String name, final String longName, final String trainType, + final String trainNum, final String trainName) + { + if ("0".equals(mot)) + { + if ("Underground".equals(trainName) && trainType == null && name != null) + return "U" + name; + } + + return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); + } + @Override public List autocompleteStations(final CharSequence constraint) throws IOException { diff --git a/enabler/src/de/schildbach/pte/TlwmProvider.java b/enabler/src/de/schildbach/pte/TlwmProvider.java index e439697f..717fa744 100644 --- a/enabler/src/de/schildbach/pte/TlwmProvider.java +++ b/enabler/src/de/schildbach/pte/TlwmProvider.java @@ -57,6 +57,19 @@ public class TlwmProvider extends AbstractEfaProvider return false; } + @Override + protected String parseLine(final String mot, final String symbol, final String name, final String longName, final String trainType, + final String trainNum, final String trainName) + { + if ("0".equals(mot)) + { + if ("Metro".equals(trainName) && trainType == null && name != null) + return "U" + name; + } + + return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); + } + @Override public Collection defaultProducts() { diff --git a/enabler/src/de/schildbach/pte/VrrProvider.java b/enabler/src/de/schildbach/pte/VrrProvider.java index d3cc0e3e..e2558823 100644 --- a/enabler/src/de/schildbach/pte/VrrProvider.java +++ b/enabler/src/de/schildbach/pte/VrrProvider.java @@ -62,6 +62,9 @@ public class VrrProvider extends AbstractEfaProvider { if (trainType == null && "RB67/71".equals(trainNum)) return 'R' + trainNum; + + if (trainType == null && "SEV7".equals(trainNum)) + return 'B' + trainNum; } else if ("11".equals(mot)) { diff --git a/enabler/src/de/schildbach/pte/VvoProvider.java b/enabler/src/de/schildbach/pte/VvoProvider.java index 1ad1a12c..5bc8776c 100644 --- a/enabler/src/de/schildbach/pte/VvoProvider.java +++ b/enabler/src/de/schildbach/pte/VvoProvider.java @@ -52,4 +52,19 @@ public class VvoProvider extends AbstractEfaProvider return false; } + + @Override + protected String parseLine(final String mot, final String symbol, final String name, final String longName, final String trainType, + final String trainNum, final String trainName) + { + if ("0".equals(mot)) + { + if ("Erfurter Bahn".equals(longName)) + return "REB"; + if ("Ostdeutsche Eisenbahn GmbH".equals(longName)) + return "ROE"; + } + + return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); + } }