forked from loafle/openapi-generator-original
[Java][Microprofile] JSON enum processing fix (#6700)
* When withXml=false we shouldn't add the jaxb imports When users are just dealing with json and set withXml=false jaxb (Java Api XML binding) imports are not needed. * Updated the microprodile-rest-client samples * Removed cxf-rt-rs-extension-providers dependency * Fix processing of enum values * Remove unwanted changes * Remove spaces
This commit is contained in:
parent
efafc58170
commit
4bb5afdefb
@ -3,17 +3,17 @@
|
|||||||
@XmlEnum({{dataType}}.class)
|
@XmlEnum({{dataType}}.class)
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
{{^withXml}}
|
{{^withXml}}
|
||||||
@JsonbTypeSerializer({{datatypeWithEnum}}.Serializer.class)
|
@JsonbTypeSerializer({{datatypeWithEnum}}.Serializer.class)
|
||||||
@JsonbTypeDeserializer({{datatypeWithEnum}}.Deserializer.class)
|
@JsonbTypeDeserializer({{datatypeWithEnum}}.Deserializer.class)
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
public enum {{datatypeWithEnum}} {
|
public enum {{datatypeWithEnum}} {
|
||||||
|
|
||||||
{{#allowableValues}}
|
{{#allowableValues}}
|
||||||
{{#withXml}}
|
{{#withXml}}
|
||||||
{{#enumVars}}@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) {{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
|
{{#enumVars}}@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) {{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
{{^withXml}}
|
{{^withXml}}
|
||||||
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
|
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
{{/allowableValues}}
|
{{/allowableValues}}
|
||||||
|
|
||||||
@ -63,4 +63,4 @@ public enum {{datatypeWithEnum}} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
}
|
}
|
||||||
|
@ -75,12 +75,14 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}}{{#serializ
|
|||||||
{{#vendorExtensions.x-extra-annotation}}
|
{{#vendorExtensions.x-extra-annotation}}
|
||||||
{{{vendorExtensions.x-extra-annotation}}}
|
{{{vendorExtensions.x-extra-annotation}}}
|
||||||
{{/vendorExtensions.x-extra-annotation}}
|
{{/vendorExtensions.x-extra-annotation}}
|
||||||
{{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} {{#isEnum}}{{^isListContainer}}{{^isMapContainer}}public {{dataType}} {{getter}}() {
|
{{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} {{#withXml}}{{#isEnum}}{{^isListContainer}}{{^isMapContainer}}public {{dataType}} {{getter}}() {
|
||||||
if ({{name}} == null) {
|
if ({{name}} == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return {{name}}.value();
|
return {{name}}.value();
|
||||||
}{{/isMapContainer}}{{/isListContainer}}{{/isEnum}}{{#isEnum}}{{#isListContainer}}public {{{datatypeWithEnum}}} {{getter}}() {
|
}{{/isMapContainer}}{{/isListContainer}}{{/isEnum}}{{/withXml}}{{^withXml}}{{#isEnum}}{{^isListContainer}}{{^isMapContainer}}public {{datatypeWithEnum}} {{getter}}() {
|
||||||
|
return {{name}};
|
||||||
|
}{{/isMapContainer}}{{/isListContainer}}{{/isEnum}}{{/withXml}}{{#isEnum}}{{#isListContainer}}public {{{datatypeWithEnum}}} {{getter}}() {
|
||||||
return {{name}};
|
return {{name}};
|
||||||
}{{/isListContainer}}{{/isEnum}}{{#isEnum}}{{#isMapContainer}}public {{{datatypeWithEnum}}} {{getter}}() {
|
}{{/isListContainer}}{{/isEnum}}{{#isEnum}}{{#isMapContainer}}public {{{datatypeWithEnum}}} {{getter}}() {
|
||||||
return {{name}};
|
return {{name}};
|
||||||
|
@ -88,7 +88,6 @@
|
|||||||
<version>1.3.5</version>
|
<version>1.3.5</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
{{^disableMultipart}}
|
{{^disableMultipart}}
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cxf</groupId>
|
<groupId>org.apache.cxf</groupId>
|
||||||
@ -96,7 +95,6 @@
|
|||||||
<version>3.2.6</version>
|
<version>3.2.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
{{/disableMultipart}}
|
{{/disableMultipart}}
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.json.bind</groupId>
|
<groupId>javax.json.bind</groupId>
|
||||||
<artifactId>javax.json.bind-api</artifactId>
|
<artifactId>javax.json.bind-api</artifactId>
|
||||||
|
@ -77,13 +77,11 @@
|
|||||||
<version>1.3.5</version>
|
<version>1.3.5</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cxf</groupId>
|
<groupId>org.apache.cxf</groupId>
|
||||||
<artifactId>cxf-rt-rs-extension-providers</artifactId>
|
<artifactId>cxf-rt-rs-extension-providers</artifactId>
|
||||||
<version>3.2.6</version>
|
<version>3.2.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.json.bind</groupId>
|
<groupId>javax.json.bind</groupId>
|
||||||
<artifactId>javax.json.bind-api</artifactId>
|
<artifactId>javax.json.bind-api</artifactId>
|
||||||
|
@ -50,11 +50,11 @@ public class Order {
|
|||||||
|
|
||||||
private Date shipDate;
|
private Date shipDate;
|
||||||
|
|
||||||
@JsonbTypeSerializer(StatusEnum.Serializer.class)
|
@JsonbTypeSerializer(StatusEnum.Serializer.class)
|
||||||
@JsonbTypeDeserializer(StatusEnum.Deserializer.class)
|
@JsonbTypeDeserializer(StatusEnum.Deserializer.class)
|
||||||
public enum StatusEnum {
|
public enum StatusEnum {
|
||||||
|
|
||||||
PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERED(String.valueOf("delivered"));
|
PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERED(String.valueOf("delivered"));
|
||||||
|
|
||||||
|
|
||||||
String value;
|
String value;
|
||||||
@ -90,7 +90,7 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE
|
|||||||
generator.write(obj.value);
|
generator.write(obj.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Order Status
|
* Order Status
|
||||||
@ -188,11 +188,8 @@ PLACED(String.valueOf("placed")), APPROVED(String.valueOf("approved")), DELIVERE
|
|||||||
* @return status
|
* @return status
|
||||||
**/
|
**/
|
||||||
@JsonbProperty("status")
|
@JsonbProperty("status")
|
||||||
public String getStatus() {
|
public StatusEnum getStatus() {
|
||||||
if (status == null) {
|
return status;
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return status.value();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,11 +55,11 @@ public class Pet {
|
|||||||
|
|
||||||
private List<Tag> tags = null;
|
private List<Tag> tags = null;
|
||||||
|
|
||||||
@JsonbTypeSerializer(StatusEnum.Serializer.class)
|
@JsonbTypeSerializer(StatusEnum.Serializer.class)
|
||||||
@JsonbTypeDeserializer(StatusEnum.Deserializer.class)
|
@JsonbTypeDeserializer(StatusEnum.Deserializer.class)
|
||||||
public enum StatusEnum {
|
public enum StatusEnum {
|
||||||
|
|
||||||
AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD(String.valueOf("sold"));
|
AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD(String.valueOf("sold"));
|
||||||
|
|
||||||
|
|
||||||
String value;
|
String value;
|
||||||
@ -95,7 +95,7 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD
|
|||||||
generator.write(obj.value);
|
generator.write(obj.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pet status in the store
|
* pet status in the store
|
||||||
@ -222,11 +222,8 @@ AVAILABLE(String.valueOf("available")), PENDING(String.valueOf("pending")), SOLD
|
|||||||
* @return status
|
* @return status
|
||||||
**/
|
**/
|
||||||
@JsonbProperty("status")
|
@JsonbProperty("status")
|
||||||
public String getStatus() {
|
public StatusEnum getStatus() {
|
||||||
if (status == null) {
|
return status;
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return status.value();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user