From 275b3b8377d2cc9e170a57231b49133084bbd5ca Mon Sep 17 00:00:00 2001 From: Adnan Baruni Date: Thu, 9 Feb 2017 11:29:26 -0600 Subject: [PATCH 1/2] add boolean datatype flags to CodegenResponse and logic to set them in DefaultCodegen --- .../io/swagger/codegen/CodegenResponse.java | 4 +-- .../io/swagger/codegen/DefaultCodegen.java | 29 +++++++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenResponse.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenResponse.java index 4f1c9c54c3e..5ec53c89fac 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenResponse.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenResponse.java @@ -10,13 +10,13 @@ public class CodegenResponse { public Boolean hasMore; public List> examples; public String dataType, baseType, containerType; + public Boolean isString, isInteger, isLong, isFloat, isDouble, isByteArray, isBinary, isBoolean, isDate, isDateTime; + public Boolean isFile = Boolean.FALSE; public Boolean isDefault; public Boolean simpleType; public Boolean primitiveType; public Boolean isMapContainer; public Boolean isListContainer; - public Boolean isBinary = Boolean.FALSE; - public Boolean isFile = Boolean.FALSE; public Object schema; public String jsonSchema; public Map vendorExtensions; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 99b9ba4f381..115815887a4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -2251,8 +2251,33 @@ public CodegenResponse fromResponse(String responseCode, Response response) { } } r.dataType = cm.datatype; - r.isBinary = isDataTypeBinary(cm.datatype); - r.isFile = isDataTypeFile(cm.datatype); + + if (Boolean.TRUE.equals(cm.isString)) { + r.isString = true; + } else if (Boolean.TRUE.equals(cm.isBoolean)) { + r.isBoolean = true; + } else if (Boolean.TRUE.equals(cm.isLong)) { + r.isLong = true; + } else if (Boolean.TRUE.equals(cm.isInteger)) { + r.isInteger = true; + } else if (Boolean.TRUE.equals(cm.isDouble)) { + r.isDouble = true; + } else if (Boolean.TRUE.equals(cm.isFloat)) { + r.isFloat = true; + } else if (Boolean.TRUE.equals(cm.isByteArray)) { + r.isByteArray = true; + } else if (Boolean.TRUE.equals(cm.isBinary)) { + r.isBinary = true; + } else if (Boolean.TRUE.equals(cm.isFile)) { + r.isFile = true; + } else if (Boolean.TRUE.equals(cm.isDate)) { + r.isDate = true; + } else if (Boolean.TRUE.equals(cm.isDateTime)) { + r.isDateTime = true; + } else { + LOGGER.debug("Property type is not primitive: " + cm.datatype); + } + if (cm.isContainer) { r.simpleType = false; r.containerType = cm.containerType; From 7609663f6c87c80f6a508304095acb9a95844c94 Mon Sep 17 00:00:00 2001 From: Adnan Baruni Date: Thu, 9 Feb 2017 12:03:53 -0600 Subject: [PATCH 2/2] use Boolean.TRUE.equals to check for isResponseBinary or isResponseFile --- .../src/main/java/io/swagger/codegen/DefaultCodegen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 115815887a4..fef3348ca40 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -2046,10 +2046,10 @@ public CodegenOperation fromOperation(String path, } r.isDefault = response == methodResponse; op.responses.add(r); - if (r.isBinary && r.isDefault){ + if (Boolean.TRUE.equals(r.isBinary) && Boolean.TRUE.equals(r.isDefault)){ op.isResponseBinary = Boolean.TRUE; } - if (r.isFile && r.isDefault){ + if (Boolean.TRUE.equals(r.isFile) && Boolean.TRUE.equals(r.isDefault)){ op.isResponseFile = Boolean.TRUE; } }