1
1
package io .swagger .codegen .v3 .generators ;
2
2
3
- import io .swagger .codegen .v3 .*;
3
+ import io .swagger .codegen .v3 .CodegenModel ;
4
+ import io .swagger .codegen .v3 .CodegenModelFactory ;
5
+ import io .swagger .codegen .v3 .CodegenModelType ;
6
+ import io .swagger .codegen .v3 .CodegenProperty ;
4
7
import io .swagger .codegen .v3 .generators .util .OpenAPIUtil ;
5
8
import io .swagger .v3 .oas .models .media .ComposedSchema ;
9
+ import io .swagger .v3 .oas .models .media .ObjectSchema ;
6
10
import io .swagger .v3 .oas .models .media .Schema ;
7
11
import org .apache .commons .lang3 .StringUtils ;
8
12
@@ -28,12 +32,16 @@ public void createCodegenModel(ComposedSchema composedProperty, CodegenProperty
28
32
final List <Schema > anyOf = composedProperty .getAnyOf ();
29
33
30
34
if (oneOf != null && !oneOf .isEmpty ()) {
31
- final CodegenModel oneOfModel = createFromOneOfSchemas (oneOf );
32
- codegenProperty .vendorExtensions .put ("oneOf-model" , oneOfModel );
35
+ if (!hasNonObjectSchema (oneOf )) {
36
+ final CodegenModel oneOfModel = createFromOneOfSchemas (oneOf );
37
+ codegenProperty .vendorExtensions .put ("oneOf-model" , oneOfModel );
38
+ }
33
39
}
34
40
if (anyOf != null && !anyOf .isEmpty ()) {
35
- final CodegenModel anyOfModel = createFromOneOfSchemas (anyOf );
36
- codegenProperty .vendorExtensions .put ("anyOf-model" , anyOfModel );
41
+ if (!hasNonObjectSchema (anyOf )) {
42
+ final CodegenModel anyOfModel = createFromOneOfSchemas (anyOf );
43
+ codegenProperty .vendorExtensions .put ("anyOf-model" , anyOfModel );
44
+ }
37
45
}
38
46
39
47
}
@@ -173,4 +181,14 @@ private void configureModel(CodegenModel codegenModel, String name) {
173
181
codegenModel .classFilename = codegenConfig .toModelFilename (name );
174
182
codegenModel .vendorExtensions .put ("x-is-composed-model" , Boolean .TRUE );
175
183
}
184
+
185
+ private boolean hasNonObjectSchema (List <Schema > schemas ) {
186
+ for (Schema schema : schemas ) {
187
+ boolean hasNonObjectSchema = (!(schema instanceof ObjectSchema )) || (schema .getProperties () != null && !schema .getProperties ().isEmpty ());
188
+ if (hasNonObjectSchema ) {
189
+ return true ;
190
+ }
191
+ }
192
+ return false ;
193
+ }
176
194
}
0 commit comments