From 966b248d503fe4d867f43318c9efed5f10e0f1bc Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 24 May 2015 10:52:43 +0200 Subject: [PATCH] Lines. --- .../de/schildbach/pte/AbstractEfaProvider.java | 2 ++ .../schildbach/pte/AbstractHafasProvider.java | 4 ++++ .../src/de/schildbach/pte/BahnProvider.java | 2 -- .../src/de/schildbach/pte/BayernProvider.java | 7 +++++++ enabler/src/de/schildbach/pte/GvhProvider.java | 18 ++++++++++++++++++ .../src/de/schildbach/pte/NasaProvider.java | 3 --- enabler/src/de/schildbach/pte/NsProvider.java | 2 -- .../src/de/schildbach/pte/OebbProvider.java | 2 -- enabler/src/de/schildbach/pte/PlProvider.java | 2 -- enabler/src/de/schildbach/pte/RtProvider.java | 2 -- enabler/src/de/schildbach/pte/SbbProvider.java | 4 ++-- .../src/de/schildbach/pte/SydneyProvider.java | 16 +++++++++++++--- enabler/src/de/schildbach/pte/VsnProvider.java | 3 --- 13 files changed, 46 insertions(+), 21 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index dd1f81fa..724c6c35 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1351,6 +1351,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider return new Line(id, network, Product.REGIONAL_TRAIN, "OPB" + trainNum); if (("OPX".equals(trainType) || "oberpfalz-express".equals(trainName)) && trainNum != null) return new Line(id, network, Product.REGIONAL_TRAIN, "OPX" + trainNum); + if (("LEO".equals(trainType) || "Chiemgauer Lokalbahn".equals(trainName)) && trainNum != null) + return new Line(id, network, Product.REGIONAL_TRAIN, "LEO" + trainNum); if (("V6".equals(trainType) || "vlexx".equals(trainName)) && trainNum != null) return new Line(id, network, Product.REGIONAL_TRAIN, "vlexx" + trainNum); if (("ARZ".equals(trainType) || "Autoreisezug".equals(trainName)) && trainNum != null) diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index 7e99cb54..80207b39 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -3002,6 +3002,10 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider if ("SL".equals(ucType)) // Sessel-Lift return Product.CABLECAR; + // Unknown product + if ("E".equals(ucType)) + return null; + throw new IllegalStateException("cannot normalize type '" + type + "'"); } diff --git a/enabler/src/de/schildbach/pte/BahnProvider.java b/enabler/src/de/schildbach/pte/BahnProvider.java index c2a53393..7aa28cba 100644 --- a/enabler/src/de/schildbach/pte/BahnProvider.java +++ b/enabler/src/de/schildbach/pte/BahnProvider.java @@ -167,8 +167,6 @@ public final class BahnProvider extends AbstractHafasProvider { final String ucType = type.toUpperCase(); - if ("E".equals(ucType)) - return null; if ("N".equals(ucType)) return null; diff --git a/enabler/src/de/schildbach/pte/BayernProvider.java b/enabler/src/de/schildbach/pte/BayernProvider.java index 7f4e4c83..c2d53cb0 100644 --- a/enabler/src/de/schildbach/pte/BayernProvider.java +++ b/enabler/src/de/schildbach/pte/BayernProvider.java @@ -79,6 +79,13 @@ public class BayernProvider extends AbstractEfaProvider if ("ABR".equals(trainType) || "ABELLIO Rail NRW GmbH".equals(trainName)) return new Line(id, network, Product.SUBURBAN_TRAIN, "ABR" + trainNum); } + else if ("5".equals(mot)) + { + if (name != null && name.startsWith("Stadtbus Linie ")) // Lindau + return super.parseLine(id, network, mot, symbol, name.substring(15), longName, trainType, trainNum, trainName); + else + return super.parseLine(id, network, mot, symbol, name, longName, trainType, trainNum, trainName); + } else if ("16".equals(mot)) { if ("EC".equals(trainType) && trainNum != null) diff --git a/enabler/src/de/schildbach/pte/GvhProvider.java b/enabler/src/de/schildbach/pte/GvhProvider.java index 42dbddb8..80d72ec3 100644 --- a/enabler/src/de/schildbach/pte/GvhProvider.java +++ b/enabler/src/de/schildbach/pte/GvhProvider.java @@ -20,6 +20,10 @@ package de.schildbach.pte; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nullable; + +import de.schildbach.pte.dto.Line; +import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.Style; /** @@ -42,6 +46,20 @@ public class GvhProvider extends AbstractEfaProvider setSessionCookieName("HASESSIONID"); } + @Override + protected Line parseLine(final @Nullable String id, final @Nullable String network, final @Nullable String mot, final @Nullable String symbol, + final @Nullable String name, final @Nullable String longName, final @Nullable String trainType, final @Nullable String trainNum, + final @Nullable String trainName) + { + if ("0".equals(mot)) + { + if ("S4".equals(trainNum)) + return new Line(id, network, Product.SUBURBAN_TRAIN, "S4"); + } + + return super.parseLine(id, network, mot, symbol, name, longName, trainType, trainNum, trainName); + } + private static final Map STYLES = new HashMap(); static diff --git a/enabler/src/de/schildbach/pte/NasaProvider.java b/enabler/src/de/schildbach/pte/NasaProvider.java index 1ce42505..e218c0fb 100644 --- a/enabler/src/de/schildbach/pte/NasaProvider.java +++ b/enabler/src/de/schildbach/pte/NasaProvider.java @@ -187,9 +187,6 @@ public class NasaProvider extends AbstractHafasProvider if ("DAMPFZUG".equals(ucType)) return Product.REGIONAL_TRAIN; - if ("E".equals(ucType)) // Stadtbahn Karlsruhe: S4/S31/xxxxx - return Product.SUBURBAN_TRAIN; - if ("RUFBUS".equals(ucType)) // Rufbus return Product.BUS; if ("RBS".equals(ucType)) // Rufbus diff --git a/enabler/src/de/schildbach/pte/NsProvider.java b/enabler/src/de/schildbach/pte/NsProvider.java index 85ad7ba2..52b1dbe1 100644 --- a/enabler/src/de/schildbach/pte/NsProvider.java +++ b/enabler/src/de/schildbach/pte/NsProvider.java @@ -150,8 +150,6 @@ public class NsProvider extends AbstractHafasProvider if (ucType.equals("SPR")) return Product.REGIONAL_TRAIN; - if (ucType.equals("E")) // Budapest, Ungarn - return Product.REGIONAL_TRAIN; if (ucType.equals("N")) // Avignon return Product.REGIONAL_TRAIN; diff --git a/enabler/src/de/schildbach/pte/OebbProvider.java b/enabler/src/de/schildbach/pte/OebbProvider.java index e38e8e5f..3d3feb62 100644 --- a/enabler/src/de/schildbach/pte/OebbProvider.java +++ b/enabler/src/de/schildbach/pte/OebbProvider.java @@ -207,8 +207,6 @@ public class OebbProvider extends AbstractHafasProvider return Product.REGIONAL_TRAIN; if (ucType.equals("DPN")) // Connections only? TODO nicht evtl. doch eher ne S-Bahn? return Product.REGIONAL_TRAIN; - if (ucType.equals("E")) // Budapest, Ungarn - return Product.REGIONAL_TRAIN; if (ucType.equals("IP")) // Ozd, Ungarn return Product.REGIONAL_TRAIN; if (ucType.equals("N")) // Frankreich, Tours diff --git a/enabler/src/de/schildbach/pte/PlProvider.java b/enabler/src/de/schildbach/pte/PlProvider.java index bd82c04b..45985cdd 100644 --- a/enabler/src/de/schildbach/pte/PlProvider.java +++ b/enabler/src/de/schildbach/pte/PlProvider.java @@ -140,8 +140,6 @@ public class PlProvider extends AbstractHafasProvider return Product.REGIONAL_TRAIN; if ("KS".equals(ucType)) // Koleje Śląskie return Product.REGIONAL_TRAIN; - if ("E".equals(ucType)) - return Product.REGIONAL_TRAIN; if ("DB".equals(ucType)) return Product.REGIONAL_TRAIN; if ("REG".equals(ucType)) diff --git a/enabler/src/de/schildbach/pte/RtProvider.java b/enabler/src/de/schildbach/pte/RtProvider.java index 8750dea0..77280aa6 100644 --- a/enabler/src/de/schildbach/pte/RtProvider.java +++ b/enabler/src/de/schildbach/pte/RtProvider.java @@ -98,8 +98,6 @@ public class RtProvider extends AbstractHafasProvider { final String ucType = type.toUpperCase(); - if ("E".equals(ucType)) // Romania, Croatia - return Product.REGIONAL_TRAIN; if ("N".equals(ucType)) // Frankreich, Tours return Product.REGIONAL_TRAIN; diff --git a/enabler/src/de/schildbach/pte/SbbProvider.java b/enabler/src/de/schildbach/pte/SbbProvider.java index 2e233568..70f36284 100644 --- a/enabler/src/de/schildbach/pte/SbbProvider.java +++ b/enabler/src/de/schildbach/pte/SbbProvider.java @@ -146,9 +146,9 @@ public class SbbProvider extends AbstractHafasProvider if ("IN".equals(ucType)) // Italien Roma-Lecce return Product.HIGH_SPEED_TRAIN; + if ("IT".equals(ucType)) // Italien Roma-Venezia + return Product.HIGH_SPEED_TRAIN; - if ("E".equals(ucType)) - return Product.REGIONAL_TRAIN; if ("T".equals(ucType)) return Product.REGIONAL_TRAIN; if ("TE2".equals(ucType)) // Basel - Strasbourg diff --git a/enabler/src/de/schildbach/pte/SydneyProvider.java b/enabler/src/de/schildbach/pte/SydneyProvider.java index f9f21cfe..9c8143ad 100644 --- a/enabler/src/de/schildbach/pte/SydneyProvider.java +++ b/enabler/src/de/schildbach/pte/SydneyProvider.java @@ -102,11 +102,19 @@ public class SydneyProvider extends AbstractEfaProvider return new Line(id, network, Product.SUBURBAN_TRAIN, "HUN"); if ("SWR".equals(symbol)) // South West Rail Link return new Line(id, network, Product.SUBURBAN_TRAIN, "SWR"); + if ("NRC".equals(symbol)) // North Coast NSW Line + return new Line(id, network, Product.SUBURBAN_TRAIN, "NRC"); + if ("WST".equals(symbol)) // Western NSW Line + return new Line(id, network, Product.SUBURBAN_TRAIN, "WST"); + if ("STH".equals(symbol)) // Southern NSW Line + return new Line(id, network, Product.SUBURBAN_TRAIN, "STH"); - if ("T1".equals(symbol) || "T1 North Shore & Northern Line".equals(symbol) || "T1 Northern Line".equals(symbol) - || "T1 Western Line".equals(symbol)) + if ("T1".equals(symbol) || "T1 North Shore & Northern Line".equals(symbol) || "T1 North Shore and Northern Line".equals(symbol) + || "T1 Northern Line".equals(symbol) || "T1 Western Line".equals(symbol) + || "T1 North Shore, Northern & Western Line".equals(symbol)) return new Line(id, network, Product.SUBURBAN_TRAIN, "T1"); - if ("T2".equals(symbol) || "T2 Inner West & South Line".equals(symbol) || "T2 Airport Line".equals(symbol)) + if ("T2".equals(symbol) || "T2 Inner West & South Line".equals(symbol) || "T2 Airport Line".equals(symbol) + || "T2 Airport, Inner West & South Line".equals(symbol)) return new Line(id, network, Product.SUBURBAN_TRAIN, "T2"); if ("T3".equals(symbol) || "T3 Bankstown Line".equals(symbol)) return new Line(id, network, Product.SUBURBAN_TRAIN, "T3"); @@ -150,6 +158,8 @@ public class SydneyProvider extends AbstractEfaProvider return new Line(id, network, Product.FERRY, symbol); if ("MFF".equals(symbol) || "Manly Fast Ferry".equals(name)) return new Line(id, network, Product.FERRY, "MFF"); + if ("LneCv".equals(symbol) || "Lane Cove Ferry".equals(name)) + return new Line(id, network, Product.FERRY, "LneCv"); throw new IllegalStateException("cannot normalize mot='" + mot + "' symbol='" + symbol + "' name='" + name + "' long='" + longName + "' trainType='" + trainType + "' trainNum='" + trainNum + "' trainName='" + trainName + "'"); diff --git a/enabler/src/de/schildbach/pte/VsnProvider.java b/enabler/src/de/schildbach/pte/VsnProvider.java index 47c1b21f..441fda68 100644 --- a/enabler/src/de/schildbach/pte/VsnProvider.java +++ b/enabler/src/de/schildbach/pte/VsnProvider.java @@ -156,9 +156,6 @@ public class VsnProvider extends AbstractHafasProvider { final String ucType = type.toUpperCase(); - if ("E".equals(ucType)) - return Product.REGIONAL_TRAIN; - if ("T84".equals(ucType)) return null;