This commit is contained in:
Andreas Schildbach 2015-08-05 14:21:16 +02:00
parent 9c853ad5d6
commit 42021b2498
9 changed files with 49 additions and 8 deletions

View file

@ -1095,6 +1095,10 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return new Line(id, network, Product.HIGH_SPEED_TRAIN, "MT" + trainNum);
if (("TLK".equals(trainType) || "Tanie Linie Kolejowe".equals(trainName)) && trainNum != null)
return new Line(id, network, Product.HIGH_SPEED_TRAIN, "TLK" + trainNum);
if ("DNZ".equals(trainType) && "Nacht-Schnellzug".equals(trainName) && trainNum != null)
return new Line(id, network, Product.HIGH_SPEED_TRAIN, "DNZ" + trainNum);
if ("AVE".equals(trainType) && trainNum != null) // klimatisierter Hochgeschwindigkeitszug
return new Line(id, network, Product.HIGH_SPEED_TRAIN, "DNZ" + trainNum);
if ("Zug".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, symbol);
@ -1118,6 +1122,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return new Line(id, network, Product.REGIONAL_TRAIN, symbol);
if (trainType == null && "RB67/71".equals(trainNum))
return new Line(id, network, Product.REGIONAL_TRAIN, trainNum);
if (trainType == null && "RB65/68".equals(trainNum))
return new Line(id, network, Product.REGIONAL_TRAIN, trainNum);
if ("RE-Bahn".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, symbol);
if ("REX".equals(trainType)) // RegionalExpress, Österreich
@ -1160,6 +1166,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return new Line(id, network, Product.REGIONAL_TRAIN, "EBx" + trainNum);
if ("Erfurter Bahn Express".equals(longName) && symbol == null)
return new Line(id, network, Product.REGIONAL_TRAIN, "EBx");
if ("MR".equals(trainType) && "Märkische Regiobahn".equals(trainName) && trainNum != null)
return new Line(id, network, Product.REGIONAL_TRAIN, "MR" + trainNum);
if ("MRB".equals(trainType) || "Mitteldeutsche Regiobahn".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "MRB" + trainNum);
if ("ABR".equals(trainType) || "ABELLIO Rail NRW GmbH".equals(trainName))
@ -1353,10 +1361,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
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 (("VAE".equals(trainType) || "Voralpen-Express".equals(trainName)) && trainNum != null)
return new Line(id, network, Product.REGIONAL_TRAIN, "VAE" + 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)
return new Line(id, network, Product.REGIONAL_TRAIN, "ARZ" + trainNum);
if ("RR".equals(trainType))
return new Line(id, network, Product.REGIONAL_TRAIN, "RR" + Strings.nullToEmpty(trainNum));
if (("TER".equals(trainType) || "Train Express Regional".equals(trainName)) && trainNum != null)
return new Line(id, network, Product.REGIONAL_TRAIN, "TER" + trainNum);
if ("BSB-Zug".equals(trainName) && trainNum != null) // Breisgau-S-Bahn
return new Line(id, network, Product.SUBURBAN_TRAIN, trainNum);
@ -1413,14 +1427,15 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
return new Line(id, network, Product.SUBURBAN_TRAIN, name);
if ("S-Bahn".equals(trainName))
return new Line(id, network, Product.SUBURBAN_TRAIN, "S" + Strings.nullToEmpty(trainNum));
if ("S5X".equals(symbol))
return new Line(id, network, Product.SUBURBAN_TRAIN, "S5X");
if (symbol != null && symbol.equals(name))
{
final Matcher m = P_LINE_S_DB.matcher(symbol);
if (m.matches())
return new Line(id, network, Product.SUBURBAN_TRAIN, m.group(1));
}
if ("REX".equals(trainType))
return new Line(id, network, Product.REGIONAL_TRAIN, "REX" + Strings.nullToEmpty(trainNum));
return new Line(id, network, Product.SUBURBAN_TRAIN, ParserUtils.firstNotEmpty(symbol, name));
}
else if ("2".equals(mot))
{
@ -1449,6 +1464,11 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
{
return new Line(id, network, null, ParserUtils.firstNotEmpty(symbol, name));
}
else if ("17".equals(mot))
{
if (trainNum == null && "Schienenersatzverkeh".equals(trainName))
return new Line(id, network, Product.BUS, "SEV");
}
throw new IllegalStateException("cannot normalize mot='" + mot + "' symbol='" + symbol + "' name='" + name + "' long='" + longName
+ "' trainType='" + trainType + "' trainNum='" + trainNum + "' trainName='" + trainName + "'");

View file

@ -3286,7 +3286,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return Product.HIGH_SPEED_TRAIN;
if ("TGV".equals(ucType)) // Train à Grande Vitesse
return Product.HIGH_SPEED_TRAIN;
if ("DNZ".equals(ucType)) // Nachtzug Basel-Moskau
if ("DNZ".equals(ucType)) // Nacht-Schnellzug
return Product.HIGH_SPEED_TRAIN;
if ("AIR".equals(ucType)) // Generic Flight
return Product.HIGH_SPEED_TRAIN;
@ -3554,6 +3554,12 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return Product.REGIONAL_TRAIN;
if ("TER".equals(ucType)) // Transport express régional
return Product.REGIONAL_TRAIN;
if ("ENO".equals(ucType))
return Product.REGIONAL_TRAIN;
if ("THU".equals(ucType)) // Thurbo AG
return Product.REGIONAL_TRAIN;
if ("GW".equals(ucType)) // gwtr.cz
return Product.REGIONAL_TRAIN;
// Suburban Trains
if (P_LINE_SBAHN.matcher(ucType).matches()) // Generic (Night) S-Bahn

View file

@ -78,6 +78,8 @@ 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);
if ("SBB".equals(trainType) || "SBB GmbH".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "SBB" + Strings.nullToEmpty(trainNum));
}
else if ("5".equals(mot))
{

View file

@ -73,8 +73,6 @@ public class NvbwProvider extends AbstractEfaProvider
return new Line(id, network, Product.REGIONAL_TRAIN, "IR");
if ("REGIOBAHN".equals(trainName) && trainNum == null)
return new Line(id, network, Product.REGIONAL_TRAIN, null);
if ("RR".equals(trainType) && trainNum == null)
return new Line(id, network, Product.REGIONAL_TRAIN, "RR");
if ("Meridian".equals(trainName) && symbol != null)
return new Line(id, network, Product.REGIONAL_TRAIN, symbol);
if ("CityBahn".equals(trainName) && trainNum == null)

View file

@ -108,6 +108,8 @@ public class SydneyProvider extends AbstractEfaProvider
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 ("NRW".equals(symbol)) // North Western NSW Line
return new Line(id, network, Product.SUBURBAN_TRAIN, "NRW");
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)
@ -154,7 +156,7 @@ public class SydneyProvider extends AbstractEfaProvider
return new Line(id, network, Product.FERRY, "F6");
if ("F7".equals(symbol) || "F7 Eastern Suburbs".equals(symbol))
return new Line(id, network, Product.FERRY, "F7");
if ("Private ferry servic".equals(trainName) && symbol != null)
if (("Private ferry servic".equals(trainName) || "Private ferry and fa".equals(trainName)) && symbol != null)
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");

View file

@ -23,6 +23,8 @@ import java.util.Set;
import javax.annotation.Nullable;
import com.google.common.base.Strings;
import de.schildbach.pte.dto.Line;
import de.schildbach.pte.dto.Product;
import de.schildbach.pte.dto.Style;
@ -77,6 +79,11 @@ public class TlemProvider extends AbstractEfaProvider
if (trainType == null && ("DLR".equals(trainNum) || "Light Railway".equals(trainName)))
return new Line(id, network, Product.SUBURBAN_TRAIN, "DLR");
}
else if ("13".equals(mot))
{
if ("OO".equals(trainType) || "Ordinary passenger (o.pas.)".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "OO" + Strings.nullToEmpty(trainNum));
}
return super.parseLine(id, network, mot, symbol, name, longName, trainType, trainNum, trainName);
}

View file

@ -52,8 +52,6 @@ public class VagfrProvider extends AbstractEfaProvider
{
if (("N".equals(trainType) || "Nahverkehrszug".equals(trainName)) && trainNum != null)
return new Line(id, network, Product.REGIONAL_TRAIN, "N" + trainNum);
if (("VAE".equals(trainType) || "Voralpen-Express".equals(trainName)) && trainNum != null)
return new Line(id, network, Product.REGIONAL_TRAIN, "VAE" + trainNum);
}
return super.parseLine(id, network, mot, symbol, name, longName, trainType, trainNum, trainName);

View file

@ -80,6 +80,11 @@ public class VorProvider extends AbstractEfaProvider
if ("WLB".equals(trainNum) && trainType == null)
return new Line(id, network, Product.TRAM, "WLB");
}
else if ("1".equals(mot))
{
if ("LILO".equals(symbol) && "Lokalbahn".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "LILO");
}
return super.parseLine(id, network, mot, symbol, name, longName, trainType, trainNum, trainName);
}

View file

@ -120,6 +120,9 @@ public class ZvvProvider extends AbstractHafasProvider
if ("Trm-NF".equals(type))
return newLine(Product.TRAM, stripPrefix(number, "Trm", "Trm-NF"), null, Line.Attr.WHEEL_CHAIR_ACCESS);
if ("S18".equals(number))
return newLine(Product.SUBURBAN_TRAIN, "S18", null);
if (type.length() > 0)
{
final Product product = normalizeType(type);