Skip to content

Commit 9d110fc

Browse files
authored
[Java][jaxrs-spec] withXml support (#22140)
* withXml support in pojo.mustache * Create xmlPojoAnnotation.mustache * withXml support in enumClass.mustache
1 parent 57324ef commit 9d110fc

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

modules/openapi-generator/src/main/resources/JavaJaxRS/spec/enumClass.mustache

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
{{#withXml}}
2+
@XmlType(name="{{datatypeWithEnum}}")
3+
@XmlEnum({{dataType}}.class)
4+
{{/withXml}}
15
{{>additionalEnumTypeAnnotations}}public enum {{datatypeWithEnum}} {
26
37
{{#allowableValues}}
4-
{{#enumVars}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
8+
{{#enumVars}}{{#withXml}}@XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}){{/withXml}}{{name}}({{dataType}}.valueOf({{{value}}})){{^-last}}, {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}
59
{{/allowableValues}}
610

711

modules/openapi-generator/src/main/resources/JavaJaxRS/spec/pojo.mustache

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,23 @@ import com.fasterxml.jackson.annotation.JsonCreator;
77
import com.fasterxml.jackson.annotation.JsonValue;
88
import com.fasterxml.jackson.annotation.JsonTypeName;
99

10+
{{#withXml}}
11+
import {{javaxPackage}}.xml.bind.annotation.XmlElement;
12+
import {{javaxPackage}}.xml.bind.annotation.XmlRootElement;
13+
import {{javaxPackage}}.xml.bind.annotation.XmlAccessType;
14+
import {{javaxPackage}}.xml.bind.annotation.XmlAccessorType;
15+
import {{javaxPackage}}.xml.bind.annotation.XmlType;
16+
import {{javaxPackage}}.xml.bind.annotation.XmlEnum;
17+
import {{javaxPackage}}.xml.bind.annotation.XmlEnumValue;
18+
{{/withXml}}
19+
1020
{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{#description}}/**
1121
* {{.}}
1222
**/{{/description}}
1323
{{#useSwaggerAnnotations}}{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}{{/useSwaggerAnnotations}}{{#useMicroProfileOpenAPIAnnotations}}
1424
@org.eclipse.microprofile.openapi.annotations.media.Schema({{#title}}title="{{{.}}}", {{/title}}{{#description}}description="{{{.}}}"{{/description}}{{^description}}description=""{{/description}}){{/useMicroProfileOpenAPIAnnotations}}
1525
@JsonTypeName("{{name}}")
16-
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}
26+
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}{{>xmlPojoAnnotation}}
1727
{{#vendorExtensions.x-class-extra-annotation}}
1828
{{{vendorExtensions.x-class-extra-annotation}}}
1929
{{/vendorExtensions.x-class-extra-annotation}}
@@ -92,6 +102,9 @@ public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtens
92102
return this;
93103
}
94104

105+
{{#withXml}}
106+
@XmlElement(name="{{baseName}}"{{#required}}, required = {{required}}{{/required}})
107+
{{/withXml}}
95108
{{#vendorExtensions.x-extra-annotation}}{{{vendorExtensions.x-extra-annotation}}}{{/vendorExtensions.x-extra-annotation}}{{#useSwaggerAnnotations}}
96109
@ApiModelProperty({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}"){{/useSwaggerAnnotations}}{{#useMicroProfileOpenAPIAnnotations}}
97110
@org.eclipse.microprofile.openapi.annotations.media.Schema({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}description = "{{{description}}}"){{/useMicroProfileOpenAPIAnnotations}}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{#withXml}}
2+
@XmlAccessorType(XmlAccessType.FIELD)
3+
{{#hasVars}} @XmlType(name = "{{classname}}", propOrder =
4+
{ {{#vars}}"{{name}}"{{^-last}}, {{/-last}}{{/vars}}
5+
}){{/hasVars}}
6+
{{^hasVars}}@XmlType(name = "{{classname}}"){{/hasVars}}
7+
{{^parent}}@XmlRootElement(name="{{classname}}"){{/parent}}
8+
{{/withXml}}

0 commit comments

Comments
 (0)