dneuge / legacy-status-proxy-vatsim

Proxy server for making status/datafiles available to passive clients in legacy formats
MIT License
3 stars 0 forks source link

tolerate errors in VAT-Spy data #15

Closed dneuge closed 1 year ago

dneuge commented 1 year ago

2306.1 release again (or still - the error was hidden by the previous one from 2304 before) contains invalid geo coordinates:

[17:58:54] Failed to load included VAT-Spy data org.vatplanner.dataformats.vatsimpublic.utils.GeoMath$OutOfRange: Out of range: 105.143991 must be within [-90.000000, 90.000000]
at org.vatplanner.dataformats.vatsimpublic.utils.GeoMath.checkLatitude(GeoMath.java:68) ~[legacy-status-proxy-vatsim.jar:?]
at org.vatplanner.dataformats.vatsimpublic.utils.GeoMath.average(GeoMath.java:52) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.stationlocator.VatSpyStationLocator.indexCenterPointsByCallsignPrefix(VatSpyStationLocator.java:287) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.stationlocator.VatSpyStationLocator.load(VatSpyStationLocator.java:160) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.stationlocator.VatSpyStationLocator.<init>(VatSpyStationLocator.java:122) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.stationlocator.StationLocator.initializeVatSpyStationLocator(StationLocator.java:134) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.stationlocator.StationLocator.<init>(StationLocator.java:107) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.JsonToLegacyDataFileProxy.<init>(JsonToLegacyDataFileProxy.java:63) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.Server._startHttpServer(Server.java:215) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.Server.onCommand(Server.java:346) ~[legacy-status-proxy-vatsim.jar:?]
at de.energiequant.vatsim.compatibility.legacyproxy.server.Server.lambda$new$1(Server.java:95) ~[legacy-status-proxy-vatsim.jar:?]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_362]

As these errors take a while to be corrected, it may be better to skip affected entries and simply log what was faulty (without a full stack-trace). That way it's also possible to submit a complete list of errors to the data project.

dneuge commented 1 year ago

dataformats-vatsim-public now tolerates errors in FIR header columns when loading VatSpy data as they could be automatically computed or at least better curated coordinates. Even if an error causes an FIR not to load it should now no longer crash the whole parser but simply skip that affected FIR (which may cause several ParserLogEntrys being logged). These errors are generally hidden from users but can be displayed by enabling the "log parser errors" option.

To make use of these improvements, dataformats-vatsim-public first has to get a new release before this project can update its dependency. Issue will be kept open until that happened.

dneuge commented 1 year ago

dataformats-vatsim-public has been released, updated dependency to 0.1-pre230626 in 78b481f91141ad2ece599d5b0bdff2dcf10705c6.