forked from loafle/openapi-generator-original
[JAVA] OkHttp-GSON deprecated field only deprecates getter method (#15287)
* Deprecate build and setter methods * Test with deprecated property * Update samples * Remove extra line * Regenerate samples
This commit is contained in:
@@ -87,6 +87,9 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
|||||||
{{/isXmlAttribute}}
|
{{/isXmlAttribute}}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
{{#gson}}
|
{{#gson}}
|
||||||
|
{{#deprecated}}
|
||||||
|
@Deprecated
|
||||||
|
{{/deprecated}}
|
||||||
@SerializedName(SERIALIZED_NAME_{{nameInSnakeCase}})
|
@SerializedName(SERIALIZED_NAME_{{nameInSnakeCase}})
|
||||||
{{/gson}}
|
{{/gson}}
|
||||||
{{#vendorExtensions.x-field-extra-annotation}}
|
{{#vendorExtensions.x-field-extra-annotation}}
|
||||||
@@ -138,6 +141,9 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
|||||||
{{#vars}}
|
{{#vars}}
|
||||||
|
|
||||||
{{^isReadOnly}}
|
{{^isReadOnly}}
|
||||||
|
{{#deprecated}}
|
||||||
|
@Deprecated
|
||||||
|
{{/deprecated}}
|
||||||
public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) {
|
public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) {
|
||||||
{{#vendorExtensions.x-is-jackson-optional-nullable}}this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
{{#vendorExtensions.x-is-jackson-optional-nullable}}this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
||||||
{{^vendorExtensions.x-is-jackson-optional-nullable}}this.{{name}} = {{name}};{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
{{^vendorExtensions.x-is-jackson-optional-nullable}}this.{{name}} = {{name}};{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
||||||
@@ -269,7 +275,8 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
|
|||||||
|
|
||||||
{{^isReadOnly}}
|
{{^isReadOnly}}
|
||||||
{{#vendorExtensions.x-setter-extra-annotation}} {{{vendorExtensions.x-setter-extra-annotation}}}
|
{{#vendorExtensions.x-setter-extra-annotation}} {{{vendorExtensions.x-setter-extra-annotation}}}
|
||||||
{{/vendorExtensions.x-setter-extra-annotation}}{{#jackson}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{> jackson_annotations}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{/jackson}} public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
|
{{/vendorExtensions.x-setter-extra-annotation}}{{#jackson}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{> jackson_annotations}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{/jackson}}{{#deprecated}} @Deprecated
|
||||||
|
{{/deprecated}} public void {{setter}}({{{datatypeWithEnum}}} {{name}}) {
|
||||||
{{#vendorExtensions.x-is-jackson-optional-nullable}}
|
{{#vendorExtensions.x-is-jackson-optional-nullable}}
|
||||||
this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});
|
this.{{name}} = JsonNullable.<{{{datatypeWithEnum}}}>of({{name}});
|
||||||
{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
{{/vendorExtensions.x-is-jackson-optional-nullable}}
|
||||||
|
|||||||
@@ -1982,4 +1982,41 @@ public class JavaClientCodegenTest {
|
|||||||
" public Pet petType(String petType) {\n");
|
" public Pet petType(String petType) {\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDeprecatedProperty() throws Exception {
|
||||||
|
File output = Files.createTempDirectory("test").toFile();
|
||||||
|
|
||||||
|
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||||
|
.setGeneratorName("java")
|
||||||
|
.setLibrary(JavaClientCodegen.OKHTTP_GSON)
|
||||||
|
.setInputSpec("src/test/resources/3_0/deprecated-properties.yaml")
|
||||||
|
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
|
||||||
|
|
||||||
|
final ClientOptInput clientOptInput = configurator.toClientOptInput();
|
||||||
|
DefaultGenerator generator = new DefaultGenerator();
|
||||||
|
List<File> files = generator.opts(clientOptInput).generate();
|
||||||
|
|
||||||
|
validateJavaSourceFiles(files);
|
||||||
|
|
||||||
|
// deprecated builder method
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/src/main/java/org/openapitools/client/model/BigDog.java"),
|
||||||
|
"@Deprecated\n" +
|
||||||
|
" public BigDog declawed(Boolean declawed) {");
|
||||||
|
|
||||||
|
// deprecated getter
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/src/main/java/org/openapitools/client/model/BigDog.java"),
|
||||||
|
"@Deprecated\n" +
|
||||||
|
" @javax.annotation.Nullable\n" +
|
||||||
|
"\n" +
|
||||||
|
" public Boolean getDeclawed() {");
|
||||||
|
// deprecated setter
|
||||||
|
TestUtils.assertFileContains(Paths.get(output + "/src/main/java/org/openapitools/client/model/BigDog.java"),
|
||||||
|
"@Deprecated\n" +
|
||||||
|
" public void setDeclawed(Boolean declawed) {");
|
||||||
|
|
||||||
|
|
||||||
|
output.deleteOnExit();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
openapi: 3.0.0
|
||||||
|
info:
|
||||||
|
title: Sample API
|
||||||
|
description: API description in Markdown.
|
||||||
|
version: 1.0.0
|
||||||
|
paths:
|
||||||
|
/animals:
|
||||||
|
get:
|
||||||
|
summary: Returns all animals.
|
||||||
|
description: Optional extended description in Markdown.
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Animal'
|
||||||
|
components:
|
||||||
|
schemas:
|
||||||
|
Dog:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/Animal'
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
breed:
|
||||||
|
type: string
|
||||||
|
Cat:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/Animal'
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
breed:
|
||||||
|
type: string
|
||||||
|
BigDog:
|
||||||
|
allOf:
|
||||||
|
- $ref: '#/components/schemas/Dog'
|
||||||
|
- type: object
|
||||||
|
discriminator:
|
||||||
|
propertyName: dogType
|
||||||
|
required:
|
||||||
|
- dogType
|
||||||
|
properties:
|
||||||
|
dogType:
|
||||||
|
type: string
|
||||||
|
declawed:
|
||||||
|
deprecated: true
|
||||||
|
type: boolean
|
||||||
|
Animal:
|
||||||
|
type: object
|
||||||
|
discriminator:
|
||||||
|
propertyName: className
|
||||||
|
required:
|
||||||
|
- className
|
||||||
|
properties:
|
||||||
|
className:
|
||||||
|
type: string
|
||||||
|
color:
|
||||||
|
type: string
|
||||||
|
default: red
|
||||||
@@ -122,6 +122,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_STATUS = "status";
|
public static final String SERIALIZED_NAME_STATUS = "status";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_STATUS)
|
@SerializedName(SERIALIZED_NAME_STATUS)
|
||||||
private StatusEnum status;
|
private StatusEnum status;
|
||||||
|
|
||||||
@@ -254,6 +255,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public Pet status(StatusEnum status) {
|
public Pet status(StatusEnum status) {
|
||||||
|
|
||||||
this.status = status;
|
this.status = status;
|
||||||
@@ -273,6 +275,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setStatus(StatusEnum status) {
|
public void setStatus(StatusEnum status) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_STATUS = "status";
|
public static final String SERIALIZED_NAME_STATUS = "status";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_STATUS)
|
@SerializedName(SERIALIZED_NAME_STATUS)
|
||||||
private StatusEnum status;
|
private StatusEnum status;
|
||||||
|
|
||||||
@@ -254,6 +255,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public Pet status(StatusEnum status) {
|
public Pet status(StatusEnum status) {
|
||||||
|
|
||||||
this.status = status;
|
this.status = status;
|
||||||
@@ -273,6 +275,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setStatus(StatusEnum status) {
|
public void setStatus(StatusEnum status) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_STATUS = "status";
|
public static final String SERIALIZED_NAME_STATUS = "status";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_STATUS)
|
@SerializedName(SERIALIZED_NAME_STATUS)
|
||||||
private StatusEnum status;
|
private StatusEnum status;
|
||||||
|
|
||||||
@@ -262,6 +263,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public Pet status(StatusEnum status) {
|
public Pet status(StatusEnum status) {
|
||||||
|
|
||||||
this.status = status;
|
this.status = status;
|
||||||
@@ -282,6 +284,7 @@ public class Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setStatus(StatusEnum status) {
|
public void setStatus(StatusEnum status) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,14 +57,17 @@ public class ObjectWithDeprecatedFields {
|
|||||||
private String uuid;
|
private String uuid;
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_ID = "id";
|
public static final String SERIALIZED_NAME_ID = "id";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_ID)
|
@SerializedName(SERIALIZED_NAME_ID)
|
||||||
private BigDecimal id;
|
private BigDecimal id;
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_DEPRECATED_REF = "deprecatedRef";
|
public static final String SERIALIZED_NAME_DEPRECATED_REF = "deprecatedRef";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_DEPRECATED_REF)
|
@SerializedName(SERIALIZED_NAME_DEPRECATED_REF)
|
||||||
private DeprecatedObject deprecatedRef;
|
private DeprecatedObject deprecatedRef;
|
||||||
|
|
||||||
public static final String SERIALIZED_NAME_BARS = "bars";
|
public static final String SERIALIZED_NAME_BARS = "bars";
|
||||||
|
@Deprecated
|
||||||
@SerializedName(SERIALIZED_NAME_BARS)
|
@SerializedName(SERIALIZED_NAME_BARS)
|
||||||
private List<String> bars;
|
private List<String> bars;
|
||||||
|
|
||||||
@@ -93,6 +96,7 @@ public class ObjectWithDeprecatedFields {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public ObjectWithDeprecatedFields id(BigDecimal id) {
|
public ObjectWithDeprecatedFields id(BigDecimal id) {
|
||||||
|
|
||||||
this.id = id;
|
this.id = id;
|
||||||
@@ -112,11 +116,13 @@ public class ObjectWithDeprecatedFields {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setId(BigDecimal id) {
|
public void setId(BigDecimal id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public ObjectWithDeprecatedFields deprecatedRef(DeprecatedObject deprecatedRef) {
|
public ObjectWithDeprecatedFields deprecatedRef(DeprecatedObject deprecatedRef) {
|
||||||
|
|
||||||
this.deprecatedRef = deprecatedRef;
|
this.deprecatedRef = deprecatedRef;
|
||||||
@@ -136,11 +142,13 @@ public class ObjectWithDeprecatedFields {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setDeprecatedRef(DeprecatedObject deprecatedRef) {
|
public void setDeprecatedRef(DeprecatedObject deprecatedRef) {
|
||||||
this.deprecatedRef = deprecatedRef;
|
this.deprecatedRef = deprecatedRef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public ObjectWithDeprecatedFields bars(List<String> bars) {
|
public ObjectWithDeprecatedFields bars(List<String> bars) {
|
||||||
|
|
||||||
this.bars = bars;
|
this.bars = bars;
|
||||||
@@ -168,6 +176,7 @@ public class ObjectWithDeprecatedFields {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setBars(List<String> bars) {
|
public void setBars(List<String> bars) {
|
||||||
this.bars = bars;
|
this.bars = bars;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user