From 30a1330c0801103e9336e68fd04f3b54844f7b2e Mon Sep 17 00:00:00 2001 From: Neil O'Toole Date: Mon, 11 Apr 2016 12:24:52 -0600 Subject: [PATCH] Issue #2561 : set isXYZParam flags before postProcessParameters --- .../io/swagger/codegen/DefaultCodegen.java | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 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 e95293ede9c..cce70f4ce39 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 @@ -1578,33 +1578,20 @@ public class DefaultCodegen { allParams.add(p); + // Issue #2561 (neilotoole) : Moved setting of isParam flags + // from here to fromParameter(). if (param instanceof QueryParameter) { - p.isQueryParam = new Boolean(true); queryParams.add(p.copy()); } else if (param instanceof PathParameter) { - p.required = true; - p.isPathParam = new Boolean(true); pathParams.add(p.copy()); } else if (param instanceof HeaderParameter) { - p.isHeaderParam = new Boolean(true); headerParams.add(p.copy()); } else if (param instanceof CookieParameter) { - p.isCookieParam = new Boolean(true); cookieParams.add(p.copy()); } else if (param instanceof BodyParameter) { - p.isBodyParam = new Boolean(true); - p.isBinary = p.dataType.toLowerCase().startsWith("byte"); bodyParam = p; bodyParams.add(p.copy()); } else if (param instanceof FormParameter) { - if ("file".equalsIgnoreCase(((FormParameter) param).getType())) { - p.isFile = true; - } else if("file".equals(p.baseType)){ - p.isFile = true; - } else { - p.notFile = true; - } - p.isFormParam = new Boolean(true); formParams.add(p.copy()); } if (p.required == null || !p.required) { @@ -1932,6 +1919,33 @@ public class DefaultCodegen { // should be overridden by lang codegen setParameterExampleValue(p); + // Issue #2561 (neilotoole) : Set the isParam flags. + // This code has been moved to here from #fromOperation + // because these values should be set before calling #postProcessParameter. + // See: https://github.com/swagger-api/swagger-codegen/issues/2561 + if (param instanceof QueryParameter) { + p.isQueryParam = true; + } else if (param instanceof PathParameter) { + p.required = true; + p.isPathParam = true; + } else if (param instanceof HeaderParameter) { + p.isHeaderParam = true; + } else if (param instanceof CookieParameter) { + p.isCookieParam = true; + } else if (param instanceof BodyParameter) { + p.isBodyParam = true; + p.isBinary = p.dataType.toLowerCase().startsWith("byte"); + } else if (param instanceof FormParameter) { + if ("file".equalsIgnoreCase(((FormParameter) param).getType())) { + p.isFile = true; + } else if("file".equals(p.baseType)){ + p.isFile = true; + } else { + p.notFile = true; + } + p.isFormParam = true; + } + postProcessParameter(p); return p; }