When a GBFS feed is parsed that contains a gbfs.json referencing itself the following exception is thrown:
(GbfsFeedLoader.java:142) Error parsing vehicle rental feed from https://gbfs.bcycle.com/bcycle_indego/gbfs.json. Details: org.opentripplanner.framework.io.OtpHttpClientException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "en" (class org.mobilitydata.gbfs.v2_3.gbfs.GBFSData), not marked as ignorable (0 known properties: ])
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 25] (through reference chain: org.mobilitydata.gbfs.v2_3.gbfs.GBFSGbfs["data"]->org.mobilitydata.gbfs.v2_3.gbfs.GBFSData["en"]).
org.opentripplanner.framework.io.OtpHttpClientException: org.opentripplanner.framework.io.OtpHttpClientException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "en" (class org.mobilitydata.gbfs.v2_3.gbfs.GBFSData), not marked as ignorable (0 known properties: ])
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 25] (through reference chain: org.mobilitydata.gbfs.v2_3.gbfs.GBFSGbfs["data"]->org.mobilitydata.gbfs.v2_3.gbfs.GBFSData["en"])
at org.opentripplanner.framework.io.OtpHttpClient.mapResponse(OtpHttpClient.java:344)
at org.opentripplanner.framework.io.OtpHttpClient.lambda$executeAndMap$3(OtpHttpClient.java:243)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:247)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:188)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:162)
at org.opentripplanner.framework.io.OtpHttpClient.executeAndMapWithResponseHandler(OtpHttpClient.java:322)
at org.opentripplanner.framework.io.OtpHttpClient.executeAndMap(OtpHttpClient.java:239)
at org.opentripplanner.framework.io.OtpHttpClient.sendAndMap(OtpHttpClient.java:363)
at org.opentripplanner.framework.io.OtpHttpClient.getAndMap(OtpHttpClient.java:191)
at org.opentripplanner.framework.io.OtpHttpClient.getAndMapAsJsonObject(OtpHttpClient.java:124)
at org.opentripplanner.framework.io.OtpHttpClient.getAndMapAsJsonObject(OtpHttpClient.java:111)
at org.opentripplanner.updater.vehicle_rental.datasources.GbfsFeedLoader.fetchFeed(GbfsFeedLoader.java:140)
at org.opentripplanner.updater.vehicle_rental.datasources.GbfsFeedLoader$GBFSFeedUpdater.fetchData(GbfsFeedLoader.java:170)
at org.opentripplanner.updater.vehicle_rental.datasources.GbfsFeedLoader.update(GbfsFeedLoader.java:114)
at org.opentripplanner.updater.vehicle_rental.datasources.GbfsVehicleRentalDataSource.update(GbfsVehicleRentalDataSource.java:61)
at org.opentripplanner.updater.vehicle_rental.VehicleRentalUpdater.runPolling(VehicleRentalUpdater.java:130)
at org.opentripplanner.updater.spi.PollingGraphUpdater.run(PollingGraphUpdater.java:52)
at org.opentripplanner.updater.GraphUpdaterManager.lambda$startUpdaters$0(GraphUpdaterManager.java:105)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.opentripplanner.framework.io.OtpHttpClientException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "en" (class org.mobilitydata.gbfs.v2_3.gbfs.GBFSData), not marked as ignorable (0 known properties: ])
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 25] (through reference chain: org.mobilitydata.gbfs.v2_3.gbfs.GBFSGbfs["data"]->org.mobilitydata.gbfs.v2_3.gbfs.GBFSData["en"])
at org.opentripplanner.framework.io.OtpHttpClient.lambda$getAndMapAsJsonObject$1(OtpHttpClient.java:132)
at org.opentripplanner.framework.io.OtpHttpClient.mapResponse(OtpHttpClient.java:342)
... 23 common frames omitted
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "en" (class org.mobilitydata.gbfs.v2_3.gbfs.GBFSData), not marked as ignorable (0 known properties: ])
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 25] (through reference chain: org.mobilitydata.gbfs.v2_3.gbfs.GBFSGbfs["data"]->org.mobilitydata.gbfs.v2_3.gbfs.GBFSData["en"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1153)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2241)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1793)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1771)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:316)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4905)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3885)
at org.opentripplanner.framework.io.OtpHttpClient.lambda$getAndMapAsJsonObject$1(OtpHttpClient.java:130)
... 24 common frames omitted
Observed behavior
Should parse successfully.
This has started happening after the change from the entur to the mobilitydata GBFS package.
Version of OTP used (exact commit hash or JAR name)
f5355246ba8c1ce21a2aa310484846f7332a9dd4
Data sets in use (links to GTFS and OSM PBF files)
Expected behavior
When a GBFS feed is parsed that contains a gbfs.json referencing itself the following exception is thrown:
Observed behavior
Should parse successfully.
This has started happening after the change from the entur to the mobilitydata GBFS package.
Version of OTP used (exact commit hash or JAR name)
f5355246ba8c1ce21a2aa310484846f7332a9dd4
Data sets in use (links to GTFS and OSM PBF files)
https://gbfs.bcycle.com/bcycle_indego/gbfs.json
cc @testower