This commit is contained in:
Andreas Schildbach 2014-12-11 00:47:26 +01:00
parent 20d63e21c4
commit a5f59319aa
17 changed files with 71 additions and 123 deletions

View file

@ -1051,50 +1051,52 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
{
final String trainNumStr = trainNum != null ? trainNum : "";
if ("EC".equals(trainType) || "EuroCity".equals(trainName) || "Eurocity".equals(trainName))
if (("EC".equals(trainType) || "EuroCity".equals(trainName) || "Eurocity".equals(trainName)) && trainNum != null)
return "IEC" + trainNum;
if ("EN".equals(trainType) || "EuroNight".equals(trainName))
if (("EN".equals(trainType) || "EuroNight".equals(trainName)) && trainNum != null)
return "IEN" + trainNum;
if (("IC".equals(trainType) || "InterCity".equals(trainName)) && trainNum != null)
return "IIC" + trainNum;
if ("InterCity".equals(longName))
return "IIC";
if (("ICE".equals(trainType) || "ICE".equals(trainName) || "Intercity-Express".equals(trainName)) && trainNum != null)
return "IICE" + trainNum;
if ("X".equals(trainType) || "InterConnex".equals(trainName))
if (("ICN".equals(trainType) || "InterCityNight".equals(trainName)) && trainNum != null)
return "IICN" + trainNum;
if (("X".equals(trainType) || "InterConnex".equals(trainName)) && trainNum != null)
return "IX" + trainNum;
if ("CNL".equals(trainType) || "CityNightLine".equals(trainName)) // City Night Line
if (("CNL".equals(trainType) || "CityNightLine".equals(trainName)) && trainNum != null) // City Night Line
return "ICNL" + trainNum;
if ("THA".equals(trainType) || "Thalys".equals(trainName))
if (("THA".equals(trainType) || "Thalys".equals(trainName)) && trainNum != null)
return "ITHA" + trainNum;
if ("RHI".equals(trainType))
if ("RHI".equals(trainType) && trainNum != null)
return "IRHI" + trainNum;
if ("TGV".equals(trainType) || "TGV".equals(trainName))
if (("TGV".equals(trainType) || "TGV".equals(trainName)) && trainNum != null)
return "ITGV" + trainNum;
if ("INZ".equals(trainType))
if ("TGD".equals(trainType) && trainNum != null)
return "ITGD" + trainNum;
if ("INZ".equals(trainType) && trainNum != null)
return "IINZ" + trainNum;
if ("RJ".equals(trainType) || "railjet".equals(trainName)) // railjet
if (("RJ".equals(trainType) || "railjet".equals(trainName)) && trainNum != null) // railjet
return "IRJ" + trainNum;
if ("OIC".equals(trainType) || "ÖBB InterCity".equals(trainName))
return 'I' + symbol;
if ("WB".equals(trainType) || "WESTbahn".equals(trainName))
if (("WB".equals(trainType) || "WESTbahn".equals(trainName)) && trainNum != null)
return "IWB" + trainNum;
if ("HKX".equals(trainType) || "Hamburg-Köln-Express".equals(trainName))
if (("HKX".equals(trainType) || "Hamburg-Köln-Express".equals(trainName)) && trainNum != null)
return "IHKX" + trainNum;
if ("INT".equals(trainType)) // SVV, VAGFR
if ("INT".equals(trainType) && trainNum != null) // SVV, VAGFR
return "IINT" + trainNum;
if ("SC".equals(trainType) || "SC Pendolino".equals(trainName)) // SuperCity, Tschechien
if (("SC".equals(trainType) || "SC Pendolino".equals(trainName)) && trainNum != null) // SuperCity
return "ISC" + trainNum;
if ("ECB".equals(trainType)) // EC, Verona-München
if ("ECB".equals(trainType) && trainNum != null) // EC, Verona-München
return "IECB" + trainNum;
if ("ES".equals(trainType)) // Eurostar Italia
if ("ES".equals(trainType) && trainNum != null) // Eurostar Italia
return "IES" + trainNum;
if ("EST".equals(trainType) || "EUROSTAR".equals(trainName))
if (("EST".equals(trainType) || "EUROSTAR".equals(trainName)) && trainNum != null)
return "IEST" + trainNum;
if ("EIC".equals(trainType)) // Ekspres InterCity, Polen
if ("EIC".equals(trainType) && trainNum != null) // Ekspres InterCity, Polen
return "IEIC" + trainNum;
if ("MT".equals(trainType) && "Schnee-Express".equals(trainName))
if ("MT".equals(trainType) && "Schnee-Express".equals(trainName) && trainNum != null)
return "IMT" + trainNum;
if (("TLK".equals(trainType) || "Tanie Linie Kolejowe".equals(trainName)) && trainNum != null)
return "ITLK" + trainNum;
if ("Zug".equals(trainName))
return 'R' + symbol;
@ -1341,6 +1343,14 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return "RUEF" + trainNum;
if (("DBG".equals(trainType) || "Döllnitzbahn".equals(trainName)) && trainNum != null)
return "RDBG" + trainNum;
if (("TL".equals(trainType) || "Trilex".equals(trainName)) && trainNum != null)
return "RTL" + trainNum;
if (("OPB".equals(trainType) || "oberpfalzbahn".equals(trainName)) && trainNum != null)
return "ROPB" + trainNum;
if (("OPX".equals(trainType) || "oberpfalz-express".equals(trainName)) && trainNum != null)
return "ROPX" + trainNum;
if (("V6".equals(trainType) || "vlexx".equals(trainName)) && trainNum != null)
return "Rvlexx" + trainNum;
if ("BSB-Zug".equals(trainName) && trainNum != null) // Breisgau-S-Bahn
return 'S' + trainNum;
@ -1379,13 +1389,15 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return '?' + trainNum;
if (trainType == null && trainName == null && P_LINE_NUMBER.matcher(symbol).matches())
return '?' + symbol;
if (trainType == null && trainName == null && symbol.equals(name) && symbol.equals(longName))
return '?' + symbol;
if ("N".equals(trainType) && trainName == null && symbol.length() == 0)
return "?N" + trainNum;
if ("Train".equals(trainName))
return "?";
// generic
if (trainName != null && trainType == null && trainNum == null)
return '?' + trainName;
throw new IllegalStateException("cannot normalize mot='" + mot + "' symbol='" + symbol + "' name='" + name + "' long='" + longName
+ "' trainType='" + trainType + "' trainNum='" + trainNum + "' trainName='" + trainName + "'");
}

View file

@ -2528,12 +2528,14 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'I';
if ("ICT".equals(ucType)) // InterCity
return 'I';
if ("ICN".equals(ucType)) // Intercity-Neigezug, Schweiz
if ("ICN".equals(ucType)) // InterCityNight
return 'I';
if ("ICD".equals(ucType)) // Intercity direkt Amsterdam-Breda
return 'I';
if ("CNL".equals(ucType)) // CityNightLine
return 'I';
if ("MT".equals(ucType)) // Schnee-Express
return 'I';
if ("OEC".equals(ucType)) // ÖBB-EuroCity
return 'I';
if ("OIC".equals(ucType)) // ÖBB-InterCity
@ -2604,6 +2606,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'I';
if ("TLK".equals(ucType)) // Tanie Linie Kolejowe, Polen
return 'I';
if ("EIP".equals(ucType)) // Express Intercity Premium
return 'I';
if ("INT".equals(ucType)) // Zürich-Brüssel - Budapest-Istanbul
return 'I';
if ("HKX".equals(ucType)) // Hamburg-Koeln-Express
@ -2682,6 +2686,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'R';
if ("TLX".equals(ucType)) // Trilex (Vogtlandbahn)
return 'R';
if ("TL".equals(ucType)) // Trilex (Vogtlandbahn)
return 'R';
if ("HZL".equals(ucType)) // Hohenzollerische Landesbahn
return 'R';
if ("ABR".equals(ucType)) // Bayerische Regiobahn
@ -2804,6 +2810,12 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'R';
if ("VAE".equals(ucType)) // Voralpen-Express
return 'R';
if ("OPB".equals(ucType)) // oberpfalzbahn
return 'R';
if ("OPX".equals(ucType)) // oberpfalz-express
return 'R';
if ("TER".equals(ucType)) // Transport express régional
return 'R';
// Suburban Trains
if (P_LINE_SBAHN.matcher(ucType).matches()) // Generic (Night) S-Bahn
@ -2864,6 +2876,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'B';
if ("EXB".equals(ucType)) // Expressbus München-Prag?
return 'B';
if ("ICB".equals(ucType)) // ÖBB ICBus
return 'B';
if ("TRO".equals(ucType)) // Trolleybus
return 'B';
if ("RFB".equals(ucType)) // Rufbus

View file

@ -163,24 +163,14 @@ 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';
if ("LTT".equals(ucType))
return 'B';
if (ucType.startsWith("RFB")) // Rufbus
return 'P';
final char t = super.normalizeType(type);
if (t != 0)
return t;
if ("E".equals(ucType))
return '?';
if ("N".equals(ucType))
return '?';
return 0;
}

View file

@ -57,6 +57,8 @@ public class MetProvider extends AbstractEfaProvider
return 'R' + symbol;
if ("Regional Train".equals(trainName))
return "R";
if ("vPK".equals(symbol) && "Regional Train Pakenham".equals(longName))
return "RV/Line";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -68,10 +68,6 @@ public class MvvProvider extends AbstractEfaProvider
return "SA";
if ("DB AG".equals(trainName))
return '?' + symbol;
if ("Zug".equals(symbol))
return "?Zug";
if ("alex".equals(symbol))
return "?alex";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -55,6 +55,8 @@ public class NvbwProvider extends AbstractEfaProvider
return "I";
if ("SuperCity".equals(trainName) && trainNum == null)
return "ISC";
if ("InterRegio".equals(longName))
return "RIR";
if ("REGIOBAHN".equals(trainName) && trainNum == null)
return "R";
if ("RR".equals(trainType) && trainNum == null)

View file

@ -201,18 +201,6 @@ public class NvvProvider extends AbstractHafasProvider
if ("U-BAHN".equals(ucType))
return 'U';
if ("B".equals(ucType))
return 'B';
if ("BUFB".equals(ucType)) // BuFB
return 'B';
if ("BUVB".equals(ucType)) // BuVB
return 'B';
if ("LTAXI".equals(ucType))
return 'B';
if ("BN".equals(ucType)) // BN Venus
return 'B';
if ("ASOF".equals(ucType))
return 'B';
if ("AT".equals(ucType)) // Anschluß Sammel Taxi, Anmeldung nicht erforderlich
return 'B';

View file

@ -212,23 +212,17 @@ public class OebbProvider extends AbstractHafasProvider
return 'R';
if (ucType.equals("DPF")) // VX=Vogtland Express, Connections only?
return 'R';
// if (ucType.equals("SBE")) // Zittau-Seifhennersdorf, via JSON API
// return 'R';
if ("UAU".equals(ucType)) // Rußland
return 'R';
if (ucType.equals("RSB")) // Schnellbahn Wien
return 'S';
// if (ucType.equals("DPN")) // S3 Bad Reichenhall-Freilassing, via JSON API
// return 'S';
if (ucType.equals("LKB")) // Connections only?
return 'T';
if (ucType.equals("OBU")) // Connections only?
return 'B';
if (ucType.equals("ICB")) // ÖBB ICBus
return 'B';
if (ucType.equals("O-BUS")) // Stadtbus
return 'B';
if (ucType.equals("O")) // Stadtbus
@ -245,8 +239,6 @@ public class OebbProvider extends AbstractHafasProvider
return 'C';
if (ucType.equals("SSB")) // Graz Schlossbergbahn
return 'C';
// if (ucType.equals("HBB")) // Innsbruck Hungerburgbahn, via JSON API
// return 'C';
final char t = super.normalizeType(type);
if (t != 0)

View file

@ -85,6 +85,8 @@ public class SfProvider extends AbstractEfaProvider
return "RLocal";
if ("CAP".equals(symbol) && "CAPITOL".equals(name))
return "RCapitol";
if ("OAK".equals(symbol) && "OAK / Coliseum".equals(name))
return "ROAK/Coliseum";
if ("Muni Rail".equals(trainName) && symbol != null) // Muni
return 'T' + symbol;

View file

@ -43,8 +43,8 @@ public class StvProvider extends AbstractEfaProvider
{
if ("0".equals(mot))
{
if ("RR".equals(trainType)) // Tschechien
return "RRR" + trainNum;
if ("M".equals(trainType) && trainNum != null)
return "RM" + trainNum;
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -131,15 +131,6 @@ public class VbnProvider extends AbstractHafasProvider
{
final String ucType = type.toUpperCase();
if ("P".equals(ucType)) // Brohltalbahn
return 'R';
if ("RFTAST".equals(ucType))
return 'B';
if ("BUSFÄHRE".equals(ucType)) // Blexen - Bremerhaven
return 'F';
if ("SEILB".equals(ucType))
return 'C';

View file

@ -47,6 +47,9 @@ public class VmsProvider extends AbstractEfaProvider
return "RM";
if ("CityBahn".equals(trainName) && trainNum == null)
return "RCB";
if ("RE 3".equals(symbol) && "Zug".equals(longName))
return "RRE3";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -44,23 +44,6 @@ public class VmvProvider extends AbstractEfaProvider
return NETWORK_ID;
}
@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 ("5".equals(mot))
{
if ("0F1".equals(symbol))
return "BF1";
if ("0F1A".equals(symbol))
return "BF1A";
if ("0F2".equals(symbol))
return "BF2";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);
}
private static final Map<String, Style> STYLES = new HashMap<String, Style>();
static

View file

@ -36,17 +36,4 @@ public class VrnProvider extends AbstractEfaProvider
{
return NETWORK_ID;
}
@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 ("vlexx".equals(trainName))
return "Rvlexx";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);
}
}

View file

@ -61,6 +61,9 @@ public class VrrProvider extends AbstractEfaProvider
if (trainType == null && "SEV7".equals(trainNum))
return 'B' + trainNum;
if ("Zug".equals(longName))
return "?Zug";
}
else if ("11".equals(mot))
{

View file

@ -59,6 +59,10 @@ public class VvoProvider extends AbstractEfaProvider
return "ROE";
if ("Meridian".equals(longName))
return "RM";
if ("trilex".equals(longName))
return "RTLX";
if ("Trilex".equals(trainName) && trainNum == null)
return "RTLX";
if ("U28".equals(symbol)) // Nationalparkbahn
return "RU28";

View file

@ -36,25 +36,4 @@ public class VvvProvider extends AbstractEfaProvider
{
return NETWORK_ID;
}
@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);
}
}