From 61dc053701052c2bab8e22b076bc8baf7c49f22b Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 20 Oct 2013 17:10:07 +0200 Subject: [PATCH] Lines --- .../de/schildbach/pte/AbstractEfaProvider.java | 18 ++++++++++++++++-- .../src/de/schildbach/pte/BayernProvider.java | 15 +++++++++++++++ enabler/src/de/schildbach/pte/MvvProvider.java | 2 ++ enabler/src/de/schildbach/pte/StvProvider.java | 2 -- 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 9e7ce868..7c76d3d0 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1066,6 +1066,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider } else if ("0".equals(mot)) { + final String trainNumStr = trainNum != null ? trainNum : ""; + if ("EC".equals(trainType) || "EuroCity".equals(trainName) || "Eurocity".equals(trainName)) return "IEC" + trainNum; if ("EN".equals(trainType) || "EuroNight".equals(trainName)) @@ -1080,12 +1082,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "ICNL" + trainNum; if ("THA".equals(trainType) || "Thalys".equals(trainName)) return "ITHA" + trainNum; + if ("RHI".equals(trainType)) + return "IRHI" + trainNum; if ("TGV".equals(trainType) || "TGV".equals(trainName)) return "ITGV" + trainNum; if ("RJ".equals(trainType) || "railjet".equals(trainName)) // railjet return "IRJ" + trainNum; if ("OIC".equals(trainType) || "ÖBB InterCity".equals(trainName)) return 'I' + symbol; + if ("WB".equals(trainType) || "WESTbahn".equals(trainName)) + return "IWB" + trainNum; if ("HKX".equals(trainType) || "Hamburg-Köln-Express".equals(trainName)) return "IHKX" + trainNum; if ("INT".equals(trainType)) // SVV, VAGFR @@ -1107,6 +1113,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RIR" + trainNum; if ("IRE".equals(trainType) || "Interregio-Express".equals(trainName)) return "RIRE" + trainNum; + if ("InterRegioExpress".equals(trainName)) + return "RIRE" + trainNumStr; if ("RE".equals(trainType) || "Regional-Express".equals(trainName)) return "RRE" + trainNum; if (trainType == null && trainNum != null && P_LINE_RE.matcher(trainNum).matches()) @@ -1143,8 +1151,6 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RWFB" + trainNum; if ("NWB".equals(trainType) || "NordWestBahn".equals(trainName)) return "RNWB" + trainNum; - if ("WB".equals(trainType) || "WESTbahn".equals(trainName)) - return "RWB" + trainNum; if ("WES".equals(trainType) || "Westbahn".equals(trainName)) return "RWES" + trainNum; if ("ERB".equals(trainType) || "eurobahn".equals(trainName)) @@ -1272,6 +1278,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RSWEG" + trainNum; if ("SWEG-Zug".equals(longName)) return "RSWEG"; + if ("EGP Eisenbahngesellschaft Potsdam".equals(trainName)) + return "REGP" + trainNumStr; if ("ÖBB".equals(trainType) || "ÖBB".equals(trainName)) return "RÖBB" + trainNum; if ("CAT".equals(trainType)) // City Airport Train Wien @@ -1316,6 +1324,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RDB" + trainNum; if ("EZ".equals(trainType)) // ÖBB Erlebniszug return "REZ" + trainNum; + if ("DPF".equals(trainType)) + return "RDPF" + trainNum; if ("BSB-Zug".equals(trainName)) // Breisgau-S-Bahn return 'S' + trainNum; @@ -1325,6 +1335,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return 'S' + symbol; if ("S".equals(trainType)) return "SS" + trainNum; + if ("S-Bahn".equals(trainName)) + return "SS" + trainNumStr; if ("RT".equals(trainType) || "RegioTram".equals(trainName)) return "TRT" + trainNum; @@ -1340,6 +1352,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider if ("GB".equals(trainType)) // Gondelbahn return "CGB" + trainNum; + if ("SB".equals(trainType)) // Seilbahn + return "CSB" + trainNum; if (trainType == null && trainName == null && P_LINE_NUMBER.matcher(symbol).matches()) return '?' + symbol; diff --git a/enabler/src/de/schildbach/pte/BayernProvider.java b/enabler/src/de/schildbach/pte/BayernProvider.java index 8567a960..3b681ac0 100644 --- a/enabler/src/de/schildbach/pte/BayernProvider.java +++ b/enabler/src/de/schildbach/pte/BayernProvider.java @@ -76,8 +76,23 @@ public class BayernProvider extends AbstractEfaProvider return "IIC" + trainNum; if ("ICE".equals(trainType)) return "IICE" + trainNum; + if ("CNL".equals(trainType)) + return "ICNL" + trainNum; + if ("THA".equals(trainType)) // Thalys + return "ITHA" + trainNum; + if ("TGV".equals(trainType)) // Train a grande Vitesse + return "ITGV" + trainNum; if ("RJ".equals(trainType)) // railjet return "IRJ" + trainNum; + if ("WB".equals(trainType)) // WESTbahn + return "IWB" + trainNum; + if ("HKX".equals(trainType)) // Hamburg-Köln-Express + return "IHKX" + trainNum; + if ("D".equals(trainType)) // Schnellzug + return "ID" + trainNum; + + if ("IR".equals(trainType)) // InterRegio + return "RIR" + trainNum; } return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); diff --git a/enabler/src/de/schildbach/pte/MvvProvider.java b/enabler/src/de/schildbach/pte/MvvProvider.java index a69e34d0..84d38382 100644 --- a/enabler/src/de/schildbach/pte/MvvProvider.java +++ b/enabler/src/de/schildbach/pte/MvvProvider.java @@ -64,6 +64,8 @@ public class MvvProvider extends AbstractEfaProvider { if ("0".equals(mot)) { + if ("M".equals(trainType) && "Meridian".equals(trainName)) + return "RM" + trainNum; if ("Mittelrheinbahn (trans regio)".equals(trainName)) return "RMiRhBa"; if ("Erfurter Bahn Express".equals(longName)) diff --git a/enabler/src/de/schildbach/pte/StvProvider.java b/enabler/src/de/schildbach/pte/StvProvider.java index bfd2ab34..1974cbaf 100644 --- a/enabler/src/de/schildbach/pte/StvProvider.java +++ b/enabler/src/de/schildbach/pte/StvProvider.java @@ -64,8 +64,6 @@ public class StvProvider extends AbstractEfaProvider { if ("RR".equals(trainType)) // Tschechien return "RRR" + trainNum; - if ("DPF".equals(trainType)) - return "RDPF" + trainNum; } return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);