conveyal / gtfs-validator

A Java framework for GTFS validation and statistics.
MIT License
38 stars 18 forks source link

Workaround for #17 - Don't serialize bounds #39

Closed barbeau closed 7 years ago

barbeau commented 7 years ago
barbeau commented 7 years ago

@abyrd, @mattwigway, and @sheldonabrown would you be OK merging this so we can use this validator output in our gtfs-realtime-validator project, and we can revert the commit if anyone complains about adverse effects?

As I mentioned in https://github.com/conveyal/gtfs-validator/issues/17#issuecomment-294271834 I don't think the output is usable as-is because of the infinite recursion when serializing the bounds, so I'd be surprised if this adversely impacted anyone.

mattwigway commented 7 years ago

I believe the way this was working previously was that we were using inside another project which had this mixin, this deserializer, and this filter on the ObjectMapper (see this file for how to configure those). @barbeau would you mind copying those into this project (I wrote that code, no copyright issues here) - I think this will solve the problem more elegantly?

barbeau commented 7 years ago

@mattwigway Sure, I'm working on this now...

barbeau commented 7 years ago

Closing this in favor of https://github.com/conveyal/gtfs-validator/pull/40.

KiraLis39 commented 2 months ago

Да, та же проблема с Rectangle: @Schema(description = "The object's collider", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Rectangle collider;

и вот вывод в Postman: "collider": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { etc