Skip to content

Commit 3967e6d

Browse files
committed
check if exists anyOf models to write them.
1 parent 79ea8b4 commit 3967e6d

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/DefaultGenerator.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -359,12 +359,18 @@ public int compare(String o1, String o2) {
359359

360360
for (Object object : modelList) {
361361
Map<String, Object> modelMap = (Map<String, Object>) object;
362+
CodegenModel codegenModel = null;
362363
if (modelMap.containsKey("oneOf-model")) {
363-
CodegenModel oneOfModel = (CodegenModel) modelMap.get("oneOf-model");
364-
models = processModel(oneOfModel, config, schemas);
365-
models.put("classname", config.toModelName(oneOfModel.name));
364+
codegenModel = (CodegenModel) modelMap.get("oneOf-model");
365+
}
366+
if (modelMap.containsKey("anyOf-model")) {
367+
codegenModel = (CodegenModel) modelMap.get("anyOf-model");
368+
}
369+
if (codegenModel != null) {
370+
models = processModel(codegenModel, config, schemas);
371+
models.put("classname", config.toModelName(codegenModel.name));
366372
models.putAll(config.additionalProperties());
367-
allProcessedModels.put(oneOfModel.name, models);
373+
allProcessedModels.put(codegenModel.name, models);
368374
break;
369375
}
370376
}
@@ -987,6 +993,10 @@ private Map<String, Object> processModels(CodegenConfig config, Map<String, Sche
987993
CodegenModel oneOfModel = (CodegenModel) cm.vendorExtensions.get("oneOf-model");
988994
mo.put("oneOf-model", oneOfModel);
989995
}
996+
if (cm.vendorExtensions.containsKey("anyOf-model")) {
997+
CodegenModel anyOfModel = (CodegenModel) cm.vendorExtensions.get("anyOf-model");
998+
mo.put("anyOf-model", anyOfModel);
999+
}
9901000
models.add(mo);
9911001

9921002
allImports.addAll(cm.imports);
@@ -1023,7 +1033,9 @@ private Map<String, Object> processModel(CodegenModel codegenModel, CodegenConfi
10231033
objs.put("package", config.modelPackage());
10241034
List<Object> models = new ArrayList<>();
10251035

1026-
objs.put("x-is-one-of", codegenModel.vendorExtensions.get("x-is-one-of"));
1036+
if (codegenModel.vendorExtensions.containsKey("x-is-composed-model")) {
1037+
objs.put("x-is-composed-model", codegenModel.vendorExtensions.get("x-is-composed-model"));
1038+
}
10271039

10281040
Map<String, Object> modelObject = new HashMap<>();
10291041
modelObject.put("model", codegenModel);

0 commit comments

Comments
 (0)