forked from loafle/openapi-generator-original
With: ``` sampleObject: type: object additionalProperties: $ref: '#/components/schemas/SampleData' minProperties: 1 description: Map of Charging data policy decisions. ``` and ``` SampleData: type: object ... nullable: true ``` We currently generate: HashMap<String, SampleData>, which doesn't allow null charging data entries. This MR changes this to be `HashMap<String, swagger::Nullable<SampleData>>`, which thus will allow null data entries. We do this by moving null-handling to the Java code - primarily `getTypeDeclaration()`. Note, to some extent this is wrong. In this MR (and previously) we are treating `nullable: true` as an extrinsic property (like required), whereas it should be an intrinsic property (and thus `HashMap<String, SampleData>` is correct, but `SampleData` absorbs the nullability. This would be possible with this code: ``` enum ChargingData = { Null, Present { ... } } ``` Which would remove the usage of https://docs.rs/swagger/2.0.2/swagger/nullable_format/enum.Nullable.html. I haven't resolved this - and have instead done a more targeted fix. This, along with some other crude code, creates a scenario where we need to unpick whether something is null. I've left that, though flagged a TODO to tidy it up at some point.