Add discriminator to Codegen Operation object

This commit is contained in:
Arne Jørgensen
2016-03-17 22:00:51 +01:00
parent 431593f3cf
commit 0b71f9ee50
3 changed files with 22 additions and 1 deletions

View File

@@ -15,7 +15,7 @@ public class CodegenOperation {
isListContainer, isMultipart, hasMore = Boolean.TRUE,
isResponseBinary = Boolean.FALSE, hasReference = Boolean.FALSE;
public String path, operationId, returnType, httpMethod, returnBaseType,
returnContainer, summary, notes, baseName, defaultResponse;
returnContainer, summary, notes, baseName, defaultResponse, discriminator;
public List<Map<String, String>> consumes, produces;
public CodegenParameter bodyParam;
public List<CodegenParameter> allParams = new ArrayList<CodegenParameter>();

View File

@@ -1451,6 +1451,16 @@ public class DefaultCodegen {
op.defaultResponse = toDefaultValue(responseProperty);
op.returnType = cm.datatype;
op.hasReference = definitions != null && definitions.containsKey(op.returnBaseType);
// lookup discriminator
if (definitions != null) {
Model m = definitions.get(op.returnBaseType);
if (m != null) {
CodegenModel cmod = fromModel(op.returnBaseType, m, definitions);
op.discriminator = cmod.discriminator;
}
}
if (cm.isContainer != null) {
op.returnContainer = cm.containerType;
if ("map".equals(cm.containerType)) {