mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-14 08:40:29 +00:00
SNCB: Fix date parsing of XML station board.
This commit is contained in:
parent
1015be4d85
commit
8be2426b3a
2 changed files with 22 additions and 7 deletions
|
@ -538,13 +538,8 @@ public abstract class AbstractHafasLegacyProvider extends AbstractHafasProvider
|
||||||
if (!"cancel".equals(delay) && !"cancel".equals(eDelay)) {
|
if (!"cancel".equals(delay) && !"cancel".equals(eDelay)) {
|
||||||
final Calendar plannedTime = new GregorianCalendar(timeZone);
|
final Calendar plannedTime = new GregorianCalendar(timeZone);
|
||||||
plannedTime.clear();
|
plannedTime.clear();
|
||||||
ParserUtils.parseEuropeanTime(plannedTime, fpTime);
|
parseXmlStationBoardDate(plannedTime, fpDate);
|
||||||
if (fpDate.length() == 8)
|
parseXmlStationBoardTime(plannedTime, fpTime);
|
||||||
ParserUtils.parseGermanDate(plannedTime, fpDate);
|
|
||||||
else if (fpDate.length() == 10)
|
|
||||||
ParserUtils.parseIsoDate(plannedTime, fpDate);
|
|
||||||
else
|
|
||||||
throw new IllegalStateException("cannot parse: '" + fpDate + "'");
|
|
||||||
|
|
||||||
final Calendar predictedTime;
|
final Calendar predictedTime;
|
||||||
if (eDelay != null) {
|
if (eDelay != null) {
|
||||||
|
@ -672,6 +667,19 @@ public abstract class AbstractHafasLegacyProvider extends AbstractHafasProvider
|
||||||
return result.get();
|
return result.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void parseXmlStationBoardDate(final Calendar calendar, final String dateStr) {
|
||||||
|
if (dateStr.length() == 8)
|
||||||
|
ParserUtils.parseGermanDate(calendar, dateStr);
|
||||||
|
else if (dateStr.length() == 10)
|
||||||
|
ParserUtils.parseIsoDate(calendar, dateStr);
|
||||||
|
else
|
||||||
|
throw new IllegalStateException("cannot parse: '" + dateStr + "'");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void parseXmlStationBoardTime(final Calendar calendar, final String timeStr) {
|
||||||
|
ParserUtils.parseEuropeanTime(calendar, timeStr);
|
||||||
|
}
|
||||||
|
|
||||||
protected void addCustomReplaces(final StringReplaceReader reader) {
|
protected void addCustomReplaces(final StringReplaceReader reader) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
package de.schildbach.pte;
|
package de.schildbach.pte;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
@ -28,6 +29,7 @@ import de.schildbach.pte.dto.Location;
|
||||||
import de.schildbach.pte.dto.LocationType;
|
import de.schildbach.pte.dto.LocationType;
|
||||||
import de.schildbach.pte.dto.NearbyLocationsResult;
|
import de.schildbach.pte.dto.NearbyLocationsResult;
|
||||||
import de.schildbach.pte.dto.Product;
|
import de.schildbach.pte.dto.Product;
|
||||||
|
import de.schildbach.pte.util.ParserUtils;
|
||||||
|
|
||||||
import okhttp3.HttpUrl;
|
import okhttp3.HttpUrl;
|
||||||
|
|
||||||
|
@ -108,4 +110,9 @@ public class SncbProvider extends AbstractHafasLegacyProvider {
|
||||||
|
|
||||||
return super.normalizeType(type);
|
return super.normalizeType(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void parseXmlStationBoardDate(final Calendar calendar, final String dateStr) {
|
||||||
|
ParserUtils.parseGermanDate(calendar, dateStr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue