diff --git a/enabler/src/de/schildbach/pte/InvgProvider.java b/enabler/src/de/schildbach/pte/InvgProvider.java index 04f3a164..1e7d759d 100644 --- a/enabler/src/de/schildbach/pte/InvgProvider.java +++ b/enabler/src/de/schildbach/pte/InvgProvider.java @@ -193,7 +193,7 @@ public class InvgProvider extends AbstractHafasProvider final Matcher mHeadFine = P_DEPARTURES_HEAD_FINE.matcher(mHeadCoarse.group(1)); if (mHeadFine.matches()) { - final String location = ParserUtils.resolveEntities(mHeadFine.group(1)); + final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mHeadFine.group(1))); final Calendar currentTime = new GregorianCalendar(timeZone); currentTime.clear(); ParserUtils.parseGermanDate(currentTime, mHeadFine.group(2)); @@ -245,9 +245,9 @@ public class InvgProvider extends AbstractHafasProvider final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false); final String destinationId = mDepFine.group(5); - final String destinationName = ParserUtils.resolveEntities(mDepFine.group(6)); + final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(6))); final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, - null, destinationName); + destinationPlaceAndName[0], destinationPlaceAndName[1]); final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7))) : null; @@ -264,7 +264,6 @@ public class InvgProvider extends AbstractHafasProvider } } - final String[] placeAndName = splitPlaceAndName(location); result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, locationId, placeAndName[0], placeAndName[1]), departures, null)); return result; diff --git a/enabler/src/de/schildbach/pte/SeptaProvider.java b/enabler/src/de/schildbach/pte/SeptaProvider.java index ab3e025d..8106868a 100644 --- a/enabler/src/de/schildbach/pte/SeptaProvider.java +++ b/enabler/src/de/schildbach/pte/SeptaProvider.java @@ -209,7 +209,7 @@ public class SeptaProvider extends AbstractHafasProvider else if (mPageCoarse.group(7) != null) return new QueryDeparturesResult(header, Status.SERVICE_DOWN); - final String location = ParserUtils.resolveEntities(mPageCoarse.group(1)); + final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mPageCoarse.group(1))); final Calendar currentTime = new GregorianCalendar(timeZone); currentTime.clear(); ParserUtils.parseAmericanDate(currentTime, mPageCoarse.group(2)); @@ -262,9 +262,9 @@ public class SeptaProvider extends AbstractHafasProvider final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false); final String destinationId = mDepFine.group(5); - final String destinationName = ParserUtils.resolveEntities(mDepFine.group(6)); - final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, null, - destinationName); + final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(6))); + final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, + destinationPlaceAndName[0], destinationPlaceAndName[1]); final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7))) : null; @@ -281,7 +281,8 @@ public class SeptaProvider extends AbstractHafasProvider } } - result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, null, location), departures, null)); + result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, placeAndName[0], placeAndName[1]), + departures, null)); return result; } else diff --git a/enabler/src/de/schildbach/pte/ShProvider.java b/enabler/src/de/schildbach/pte/ShProvider.java index 68d695ac..4c1bfaba 100644 --- a/enabler/src/de/schildbach/pte/ShProvider.java +++ b/enabler/src/de/schildbach/pte/ShProvider.java @@ -233,7 +233,7 @@ public class ShProvider extends AbstractHafasProvider else if (mHeadCoarse.group(7) != null) return new QueryDeparturesResult(header, Status.SERVICE_DOWN); - final String location = ParserUtils.resolveEntities(mHeadCoarse.group(1)); + final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mHeadCoarse.group(1))); final Calendar currentTime = new GregorianCalendar(timeZone); currentTime.clear(); ParserUtils.parseGermanDate(currentTime, mHeadCoarse.group(2)); @@ -266,9 +266,9 @@ public class ShProvider extends AbstractHafasProvider final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(3).trim()), false); final String destinationId = mDepFine.group(4); - final String destinationName = ParserUtils.resolveEntities(mDepFine.group(5)); - final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, null, - destinationName); + final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(5))); + final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, + destinationPlaceAndName[0], destinationPlaceAndName[1]); final Position position = mDepFine.group(6) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(6))) : null; @@ -284,7 +284,8 @@ public class ShProvider extends AbstractHafasProvider } } - result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, null, location), departures, null)); + result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, placeAndName[0], placeAndName[1]), + departures, null)); return result; } else