diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 78ce2a71..d5083a0d 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1118,6 +1118,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "IES" + trainNum; if ("EST".equals(trainType) || "EUROSTAR".equals(trainName)) return "IEST" + trainNum; + if ("EIC".equals(trainType)) // Ekspres InterCity, Polen + return "IEIC" + trainNum; if ("Zug".equals(trainName)) return 'R' + symbol; @@ -1272,6 +1274,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RP" + trainNum; if ("SBS".equals(trainType) || "Städtebahn Sachsen".equals(trainName)) return "RSBS" + trainNum; + if ("SES".equals(trainType) || "Städteexpress Sachsen".equals(trainName)) + return "RSES" + trainNum; if ("SB-".equals(trainType)) // Städtebahn Sachsen return "RSB" + trainNum; if ("ag".equals(trainType)) // agilis @@ -1318,6 +1322,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RATB" + trainNum; if ("ATZ".equals(trainType)) // Autozug return "RATZ" + trainNum; + if ("AZ".equals(trainType) || "Auto-Zug".equals(trainName)) + return "RAZ" + trainNum; if ("DWE".equals(trainType) || "Dessau-Wörlitzer Eisenbahn".equals(trainName)) return "RDWE" + trainNum; if ("KTB".equals(trainType) || "Kandertalbahn".equals(trainName)) @@ -1336,10 +1342,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return "RWTB" + trainNum; if ("DB".equals(trainType) || "DB Regio".equals(trainName)) return "RDB" + trainNum; + if ("M".equals(trainType) && "Meridian".equals(trainName)) + return "RM" + trainNum; + if ("M".equals(trainType) && "Messezug".equals(trainName)) + return "RM" + trainNum; if ("EZ".equals(trainType)) // ÖBB Erlebniszug return "REZ" + trainNum; if ("DPF".equals(trainType)) return "RDPF" + trainNum; + if ("WBA".equals(trainType) || "Waldbahn".equals(trainName)) + return "RWBA" + trainNum; if ("BSB-Zug".equals(trainName)) // Breisgau-S-Bahn return 'S' + trainNum; @@ -1357,7 +1369,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider if ("Bus".equals(trainType)) return "B" + trainNum; - if ("SEV".equals(trainType) || "SEV".equals(trainNum) || "SEV".equals(symbol) || "Ersatzverkehr".equals(trainName)) + if ("SEV".equals(trainType) || "SEV".equals(trainNum) || "SEV".equals(trainName) || "SEV".equals(symbol) + || "Ersatzverkehr".equals(trainName)) return "BSEV"; if ("Bus replacement".equals(trainName)) // GB return "BBR"; diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index 97e390a3..e74b5811 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -2791,6 +2791,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider return 'R'; if ("GEX".equals(ucType)) // Glacier Express return 'R'; + if ("M".equals(ucType)) // Meridian + return 'R'; // if ("E".equals(normalizedType)) // Eilzug, stimmt wahrscheinlich nicht // return "R" + normalizedName; diff --git a/enabler/src/de/schildbach/pte/GvhProvider.java b/enabler/src/de/schildbach/pte/GvhProvider.java index 354ad511..b26c53dc 100644 --- a/enabler/src/de/schildbach/pte/GvhProvider.java +++ b/enabler/src/de/schildbach/pte/GvhProvider.java @@ -70,6 +70,13 @@ public class GvhProvider extends AbstractEfaProvider return "SS3"; if ("S31".equals(symbol)) return "SS31"; + + if ("U1".equals(symbol)) + return "UU1"; + if ("U2".equals(symbol)) + return "UU2"; + if ("U3".equals(symbol)) + return "UU3"; } 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 84d38382..a69e34d0 100644 --- a/enabler/src/de/schildbach/pte/MvvProvider.java +++ b/enabler/src/de/schildbach/pte/MvvProvider.java @@ -64,8 +64,6 @@ 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/NvbwProvider.java b/enabler/src/de/schildbach/pte/NvbwProvider.java index 16ae0b4a..659deb36 100644 --- a/enabler/src/de/schildbach/pte/NvbwProvider.java +++ b/enabler/src/de/schildbach/pte/NvbwProvider.java @@ -53,8 +53,14 @@ public class NvbwProvider extends AbstractEfaProvider { if ("0".equals(mot)) { + if ("INZ".equals(trainType)) + return "IINZ" + trainNum; if ("RR".equals(trainType)) return "RRR" + trainNum; + if ("Meridian".equals(trainName) && symbol != null) + return "R" + symbol; + if ("Bay. Seenschifffahrt".equals(trainName) && symbol != null) + return "F" + symbol; } return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); diff --git a/enabler/src/de/schildbach/pte/VbbProvider.java b/enabler/src/de/schildbach/pte/VbbProvider.java index f61078fb..3368024a 100644 --- a/enabler/src/de/schildbach/pte/VbbProvider.java +++ b/enabler/src/de/schildbach/pte/VbbProvider.java @@ -25,6 +25,7 @@ import java.util.Set; import java.util.regex.Matcher; 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; @@ -198,4 +199,13 @@ public class VbbProvider extends AbstractHafasProvider { return queryMoreTripsBinary(contextObj, later, numTrips); } + + @Override + protected Line parseLineAndType(final String lineAndType) + { + if ("X#".equals(lineAndType)) + return newLine('?', "X", null); + else + return super.parseLineAndType(lineAndType); + } } diff --git a/enabler/src/de/schildbach/pte/VvvProvider.java b/enabler/src/de/schildbach/pte/VvvProvider.java index e14c807b..f41d4e12 100644 --- a/enabler/src/de/schildbach/pte/VvvProvider.java +++ b/enabler/src/de/schildbach/pte/VvvProvider.java @@ -45,4 +45,25 @@ public class VvvProvider 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 ("VL1".equals(trainNum)) + return "RVL1"; + if ("VL2".equals(trainNum)) + return "RVL2"; + if ("VL3".equals(trainNum)) + return "RVL3"; + if ("VL4".equals(trainNum)) + return "RVL4"; + if ("VL5".equals(trainNum)) + return "RVL5"; + } + + return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); + } }