This commit is contained in:
Andreas Schildbach 2014-01-12 16:53:05 +01:00
parent 0b9985c3e5
commit d06ce813b4
14 changed files with 142 additions and 51 deletions

View file

@ -1106,6 +1106,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return "IRHI" + trainNum;
if ("TGV".equals(trainType) || "TGV".equals(trainName))
return "ITGV" + trainNum;
if ("INZ".equals(trainType))
return "IINZ" + trainNum;
if ("RJ".equals(trainType) || "railjet".equals(trainName)) // railjet
return "IRJ" + trainNum;
if ("OIC".equals(trainType) || "ÖBB InterCity".equals(trainName))
@ -1375,9 +1377,9 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
if ("Bus".equals(trainType))
return "B" + trainNum;
if ("SEV".equals(trainType) || "SEV".equals(trainNum) || "SEV".equals(trainName) || "SEV".equals(symbol)
|| "Ersatzverkehr".equals(trainName))
return "BSEV";
if ("SEV".equals(trainType) || "SEV".equals(trainNum) || "SEV".equals(trainName) || "SEV".equals(symbol) || "BSV".equals(trainType)
|| "Ersatzverkehr".equals(trainName) || "Schienenersatzverkehr".equals(trainName))
return "BSEV" + (trainNum != null ? trainNum : "");
if ("Bus replacement".equals(trainName)) // GB
return "BBR";
if ("BR".equals(trainType) && trainName.startsWith("Bus")) // GB

View file

@ -2733,9 +2733,12 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return 'R';
if ("M".equals(ucType)) // Meridian
return 'R';
// if ("E".equals(normalizedType)) // Eilzug, stimmt wahrscheinlich nicht
// return "R" + normalizedName;
if ("WBA".equals(ucType)) // Waldbahn
return 'R';
if ("BEX".equals(ucType)) // Bernina Express
return 'R';
if ("VAE".equals(ucType)) // Voralpen-Express
return 'R';
// Suburban Trains
if (P_LINE_SBAHN.matcher(ucType).matches()) // Generic (Night) S-Bahn

View file

@ -69,7 +69,12 @@ public class BayernProvider extends AbstractEfaProvider
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 ("16".equals(mot))
if ("0".equals(mot))
{
if ("ZUG".equals(trainType) && trainNum != null)
return "R" + trainNum;
}
else if ("16".equals(mot))
{
if ("EC".equals(trainType))
return "IEC" + trainNum;

View file

@ -158,6 +158,13 @@ public class LuProvider extends AbstractHafasProvider
if ("CRE".equals(ucType))
return 'R';
if ("CITYBUS".equals(ucType))
return 'B';
if ("NIGHTBUS".equals(ucType))
return 'B';
if ("DIFFBUS".equals(ucType))
return 'B';
final char t = super.normalizeType(type);
if (t != 0)
return t;

View file

@ -50,6 +50,19 @@ public class NaldoProvider 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 ("RR".equals(trainType))
return "RRR" + trainNum;
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{

View file

@ -221,8 +221,6 @@ public class NasaProvider extends AbstractHafasProvider
if ("E".equals(ucType)) // Stadtbahn Karlsruhe: S4/S31/xxxxx
return 'S';
if ("BSV".equals(ucType))
return 'B';
if ("RUFBUS".equals(ucType)) // Rufbus
return 'B';
if ("RBS".equals(ucType)) // Rufbus

View file

@ -53,8 +53,6 @@ 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)

View file

@ -255,8 +255,6 @@ public class OebbProvider extends AbstractHafasProvider
return 'B';
if (ucType.equals("ICB")) // ÖBB ICBus
return 'B';
if (ucType.equals("BSV")) // Deutschland, Connections only?
return 'B';
if (ucType.equals("O-BUS")) // Stadtbus
return 'B';
if (ucType.equals("O")) // Stadtbus

View file

@ -154,21 +154,13 @@ public class SbbProvider extends AbstractHafasProvider
return 'R';
if ("T".equals(ucType))
return 'R';
if ("KB".equals(ucType))
return 'R';
if ("BEX".equals(ucType)) // Bernina Express
return 'R';
if ("M".equals(ucType)) // Metro Wien
return 'U';
if ("NFT".equals(ucType)) // Niederflurtram
return 'T';
if ("TX".equals(ucType))
return 'B';
if ("NFO".equals(ucType))
return 'B';
if ("KB".equals(ucType)) // Kleinbus?
return 'B';
final char t = super.normalizeType(type);
if (t != 0)

View file

@ -75,34 +75,24 @@ public class SfProvider extends AbstractEfaProvider
{
if ("0".equals(mot))
{
if ("Train".equals(trainName))
return "R" + symbol;
if ("Millbrae / Richmond".equals(symbol)) // BART
return 'U' + symbol;
if ("Richmond / Millbrae".equals(symbol)) // BART
return 'U' + symbol;
if ("Fremont / Richmond".equals(symbol)) // BART
return 'U' + symbol;
if ("Richmond / Fremont".equals(symbol)) // BART
return 'U' + symbol;
if ("Pittsburg Bay Point / SFO".equals(symbol)) // BART
return 'U' + symbol;
if ("SFO / Pittsburg Bay Point".equals(symbol)) // BART
return 'U' + symbol;
if ("Dublin Pleasanton / Daly City".equals(symbol)) // BART
return 'U' + symbol;
if ("Daly City / Dublin Pleasanton".equals(symbol)) // BART
return 'U' + symbol;
if ("Fremont / Daly City".equals(symbol)) // BART
return 'U' + symbol;
if ("Fremont / Daly City".equals(trainNum)) // BART
return 'U' + trainNum;
if ("Daly City / Fremont".equals(symbol)) // BART
return 'U' + symbol;
if ("Muni Rail".equals(trainName)) // Muni
if ("Muni Rail".equals(trainName) && symbol != null) // Muni
return 'T' + symbol;
if (trainType == null && "F".equals(trainNum)) // Muni Historic Streetcar
return "TF";
if (trainType == null && "J".equals(trainNum)) // Muni Metro
return "TJ";
if (trainType == null && "K".equals(trainNum)) // Muni Metro
return "TK";
if (trainType == null && "KT".equals(trainNum)) // Muni Metro
return "TKT";
if (trainType == null && "L".equals(trainNum)) // Muni Metro
return "TL";
if (trainType == null && "M".equals(trainNum)) // Muni Metro
return "TM";
if (trainType == null && "N".equals(trainNum)) // Muni Metro
return "TN";
if (trainType == null && "T".equals(trainNum)) // Muni Metro
return "TT";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -60,4 +60,17 @@ public class TfiProvider extends AbstractEfaProvider
{
return Product.ALL;
}
@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 ("Rail".equals(trainName) && trainNum == null)
return "RRail";
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);
}
}

View file

@ -45,4 +45,63 @@ public class VblProvider 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 ("BLS".equals(trainType) && trainNum != null)
return "RBLS" + trainNum;
if ("ASM".equals(trainType) && trainNum != null) // Aare Seeland mobil
return "RASM" + trainNum;
if ("SOB".equals(trainType) && trainNum != null) // Schweizerische Südostbahn
return "RSOB" + trainNum;
if ("RhB".equals(trainType) && trainNum != null) // Rhätische Bahn
return "RRhB" + trainNum;
if ("AB-".equals(trainType) && trainNum != null) // Appenzeller Bahnen
return "RAB" + trainNum;
if ("BDW".equals(trainType) && trainNum != null) // BDWM Transport
return "RBDW" + trainNum;
if ("ZB".equals(trainType) && trainNum != null) // Zentralbahn
return "RZB" + trainNum;
if ("TPF".equals(trainType) && trainNum != null) // Transports publics fribourgeois
return "RTPF" + trainNum;
if ("MGB".equals(trainType) && trainNum != null) // Matterhorn Gotthard Bahn
return "RMGB" + trainNum;
if ("CJ".equals(trainType) && trainNum != null) // Chemins de fer du Jura
return "RCJ" + trainNum;
if ("LEB".equals(trainType) && trainNum != null) // Lausanne-Echallens-Bercher
return "RLEB" + trainNum;
if ("FAR".equals(trainType) && trainNum != null) // Ferrovie Autolinee Regionali Ticinesi
return "RFAR" + trainNum;
if ("WAB".equals(trainType) && trainNum != null) // Wengernalpbahn
return "RWAB" + trainNum;
if ("JB".equals(trainType) && trainNum != null) // Jungfraubahn
return "RJB" + trainNum;
if ("NSt".equals(trainType) && trainNum != null) // Nyon-St-Cergue-Morez
return "RNSt" + trainNum;
if ("RA".equals(trainType) && trainNum != null) // Regionalps
return "RRA" + trainNum;
if ("TRN".equals(trainType) && trainNum != null) // Transport Publics Neuchâtelois
return "RTRN" + trainNum;
if ("TPC".equals(trainType) && trainNum != null) // Transports Publics du Chablais
return "RTPC" + trainNum;
if ("MVR".equals(trainType) && trainNum != null) // Montreux-Vevey-Riviera
return "RMVR" + trainNum;
if ("MOB".equals(trainType) && trainNum != null) // Montreux-Oberland Bernois
return "RMOB" + trainNum;
if ("TRA".equals(trainType) && trainNum != null) // Transports Vallée de Joux-Yverdon-Ste-Croix
return "RTRA" + trainNum;
if ("TMR".equals(trainType) && trainNum != null) // Transports de Martigny et Régions
return "RTMR" + trainNum;
if ("GGB".equals(trainType) && trainNum != null) // Gornergratbahn
return "RGGB" + trainNum;
if ("BLM".equals(trainType) && trainNum != null) // Lauterbrunnen-Mürren
return "RBLM" + trainNum;
}
return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName);
}
}

View file

@ -67,7 +67,12 @@ public class VrrProvider extends AbstractEfaProvider
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 ("11".equals(mot))
if ("0".equals(mot))
{
if (trainType == null && "RB67/71".equals(trainNum))
return 'R' + trainNum;
}
else if ("11".equals(mot))
{
// Wuppertaler Schwebebahn & SkyTrain D'dorf
if ("Schwebebahn".equals(trainName) || (longName != null && longName.startsWith("Schwebebahn")))

View file

@ -276,12 +276,20 @@ public class ZvvProvider extends AbstractHafasProvider
return 'B';
if ("TROLLEY".equals(ucType))
return 'B';
if ("KB".equals(ucType)) // Kleinbus?
return 'B';
if ("EE".equals(ucType))
return 'B';
if ("D-SCHIFF".equals(ucType))
return 'F';
if ("BERGBAHN".equals(ucType))
return 'C';
if ("LSB".equals(ucType)) // Luftseilbahn
return 'C';
if ("SLB".equals(ucType)) // Sesselliftbahn
return 'C';
if ("UNB".equals(ucType))
return '?';