Comments (2)
The issue occurs when a YAML DTO extends another DTO as follows where TadoModeTerminationCondition
implements allOf
the fields of OverlayTerminationCondition
. CodeGen v2.3.1 generates Java code in which the child DTO does NOT include the same fields as the parent DTO (since they are already inherently in the parent). By contrast CodeGen v2.4.41 generates code where the child DTO has fields that DUPLICATE the same fields in the parent. Which is what causes the GSON JSON deserializer to fall over..
================ YAML Definition ================
OverlayTerminationCondition:
type: object
discriminator: type
properties:
type:
$ref: "#/definitions/OverlayTerminationConditionType"
projectedExpiry:
description: |
[ISO8601 datetime](https://en.wikipedia.org/wiki/ISO_8601). E.g. `2015-09-28T15:03:20Z` with second precision.
Only relevant when receiving an overlay, ignored when overlay is sent to the server. Indicates the expected time of
termination for this overlay, if no app user moves. `null` means that the overlay never expires (by itself, unless manully removed).
type: string
format: date-time
readOnly: true
required:
- type
TadoModeTerminationCondition:
description: The overlay terminates when the tado mode changes or when the setting (power, temperature, ...) of the underlying block schedule changes (or when removed manually).
x-discriminator-value: TADO_MODE
allOf:
- $ref: "#/definitions/OverlayTerminationCondition"
================ Output of Swagger CodeGen v2.3.1 ================
public class OverlayTerminationCondition {
@SerializedName("type")
private OverlayTerminationConditionType type = null;
@SerializedName("projectedExpiry")
private OffsetDateTime projectedExpiry = null;
... methods
}
public class TadoModeTerminationCondition extends OverlayTerminationCondition {
.. inherited methods all annotated with @Override
}
================ Output of Swagger CodeGen v2.4.41 ================
public class OverlayTerminationCondition {
@SerializedName("type")
private OverlayTerminationConditionType type = null;
@SerializedName("projectedExpiry")
private OffsetDateTime projectedExpiry = null;
... methods
}
public class TadoModeTerminationCondition extends OverlayTerminationCondition {
@SerializedName("type")
private OverlayTerminationConditionType type = null;
@SerializedName("projectedExpiry")
private OffsetDateTime projectedExpiry = null;
.. inherited methods all annotated with @Override
}
from swagger-codegen.
^
From deep Googling one hypothesis is the issue may be related to supportsInheritance
. => Does anyone have thought on this? And is so, how would I set a different value of that property for the Swagger Maven plugin in the OpenHAB pom.xml file?
from swagger-codegen.
Related Issues (20)
- Exception in thread "main" java.lang.RuntimeException: Can't load config class with name apex HOT 1
- Using APIClient (Python) in AWS Lambda function
- swagger-codegen escapes HTML syntax in descriptions when generating HTML, while swagger-ui does not HOT 2
- swagger codegen depends on non compatible apache 2.0 transitive library
- NullPointerException running swagger-codegen-cli for model with nullable integer enum property in schema definition
- Master branch seem broken... CodegenConfiguratorTest.testFromFile:268 expected [1] but found [0] HOT 1
- In rust code generation trait objects should contain an explicit `dyn` HOT 1
- config "enumPropertyNaming" not working as expected
- Swagger-codegen 3.0.54 do not support msf4j server stub
- [typescript-axios] query property renamed to _query
- [TypeScript-Fetch] Invalid interface definition while setting additionalProperties as true
- Invalid anonymous model name with non-ascii title
- [JAVASpring] Incorrect model classnames but only in lists?
- Wrong dynamic query parameter names in spring
- [Typescript Axios] Bug generating Map or Map<String,String> Model
- NullPointerException Thrown when Both `properties` and `allOf` are Defined in a `schema` Object
- Do you have any plan to support Harmony SDK?
- [PHP] Bug missing commas in key-value arrays of generated models and parameter of function calls
- [PHP] enum values generated without comma
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swagger-codegen.