From c6f6ef92d0e3862528cff1346c8cd42ed6db7e39 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 13 Jul 2023 08:32:42 +0800 Subject: [PATCH] Refactor getAdditionalProperties, isFreeFormObject (#16065) * refactor getAdditionalProperties, isFreeFormObject * change warn to debug --- .../openapitools/codegen/DefaultCodegen.java | 90 ++++--------------- .../codegen/DefaultGenerator.java | 2 +- .../codegen/InlineModelResolver.java | 2 +- .../codegen/examples/ExampleGenerator.java | 4 +- .../codegen/languages/AbstractAdaCodegen.java | 2 +- .../languages/AbstractApexCodegen.java | 8 +- .../languages/AbstractCSharpCodegen.java | 2 +- .../languages/AbstractDartCodegen.java | 2 +- .../languages/AbstractEiffelCodegen.java | 4 +- .../languages/AbstractFSharpCodegen.java | 2 +- .../codegen/languages/AbstractGoCodegen.java | 2 +- .../languages/AbstractJavaCodegen.java | 9 +- .../languages/AbstractJuliaCodegen.java | 4 +- .../languages/AbstractKotlinCodegen.java | 4 +- .../codegen/languages/AbstractPhpCodegen.java | 2 +- .../AbstractPythonConnexionServerCodegen.java | 2 +- .../languages/AbstractRubyCodegen.java | 2 +- .../languages/AbstractScalaCodegen.java | 6 +- .../AbstractTypeScriptClientCodegen.java | 2 +- .../languages/AndroidClientCodegen.java | 2 +- .../codegen/languages/ApexClientCodegen.java | 2 +- .../codegen/languages/BashClientCodegen.java | 2 +- .../languages/CSharpClientCodegen.java | 4 +- .../languages/CSharpReducedClientCodegen.java | 4 +- .../languages/ConfluenceWikiCodegen.java | 2 +- .../languages/CppPistacheServerCodegen.java | 4 +- .../languages/CppQtAbstractCodegen.java | 4 +- .../languages/CppRestSdkClientCodegen.java | 6 +- .../languages/CppRestbedServerCodegen.java | 4 +- .../CppRestbedServerDeprecatedCodegen.java | 4 +- .../languages/CppUE4ClientCodegen.java | 2 +- .../languages/CrystalClientCodegen.java | 4 +- .../languages/ElixirClientCodegen.java | 2 +- .../codegen/languages/ElmClientCodegen.java | 2 +- .../codegen/languages/GoServerCodegen.java | 2 +- .../languages/HaskellHttpClientCodegen.java | 4 +- .../languages/HaskellServantCodegen.java | 4 +- .../languages/HaskellYesodServerCodegen.java | 4 +- .../languages/JMeterClientCodegen.java | 2 +- .../languages/JavaCXFServerCodegen.java | 2 +- .../JavascriptApolloClientCodegen.java | 6 +- .../languages/JavascriptClientCodegen.java | 6 +- ...JavascriptClosureAngularClientCodegen.java | 2 +- .../JavascriptFlowtypedClientCodegen.java | 3 +- .../codegen/languages/LuaClientCodegen.java | 2 +- .../codegen/languages/NimClientCodegen.java | 2 +- .../codegen/languages/OCamlClientCodegen.java | 2 +- .../codegen/languages/ObjcClientCodegen.java | 2 +- .../codegen/languages/PerlClientCodegen.java | 2 +- .../languages/PhpSilexServerCodegen.java | 2 +- .../languages/PhpSymfonyServerCodegen.java | 2 +- .../languages/ProtobufSchemaCodegen.java | 2 +- .../languages/PythonClientCodegen.java | 4 +- .../languages/PythonFastAPIServerCodegen.java | 2 +- .../codegen/languages/RClientCodegen.java | 2 +- .../codegen/languages/RubyClientCodegen.java | 3 +- .../codegen/languages/RustClientCodegen.java | 2 +- .../codegen/languages/RustServerCodegen.java | 6 +- .../languages/ScalaAkkaClientCodegen.java | 2 +- .../languages/ScalaFinchServerCodegen.java | 2 +- .../languages/ScalaGatlingCodegen.java | 2 +- .../ScalaPlayFrameworkServerCodegen.java | 2 +- .../languages/ScalaSttp4ClientCodegen.java | 2 +- .../languages/ScalaSttpClientCodegen.java | 2 +- .../languages/ScalazClientCodegen.java | 2 +- .../languages/StaticHtml2Generator.java | 2 +- .../languages/StaticHtmlGenerator.java | 2 +- .../languages/Swift5ClientCodegen.java | 8 +- .../languages/SwiftCombineClientCodegen.java | 4 +- .../TypeScriptAngularClientCodegen.java | 2 +- .../TypeScriptAxiosClientCodegen.java | 2 +- .../languages/TypeScriptClientCodegen.java | 2 +- .../TypeScriptFetchClientCodegen.java | 2 +- .../TypeScriptInversifyClientCodegen.java | 3 +- .../TypeScriptJqueryClientCodegen.java | 2 +- .../TypeScriptNestjsClientCodegen.java | 2 +- .../TypeScriptNodeClientCodegen.java | 2 +- .../TypeScriptReduxQueryClientCodegen.java | 2 +- .../TypeScriptRxjsClientCodegen.java | 2 +- .../codegen/utils/ModelUtils.java | 10 +-- .../codegen/DefaultCodegenTest.java | 24 ++--- .../codegen/utils/ModelUtilsTest.java | 12 +-- 82 files changed, 157 insertions(+), 209 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 75fdf38e387..e1bdaf6ca3b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -1037,7 +1037,7 @@ public class DefaultCodegen implements CodegenConfig { addOneOfInterfaceModel((ComposedSchema) items, nOneOf); } } else if (ModelUtils.isMapSchema(s)) { - Schema addProps = getAdditionalProperties(s); + Schema addProps = ModelUtils.getAdditionalProperties(s); if (addProps != null && ModelUtils.isComposedSchema(addProps)) { addOneOfNameExtension((ComposedSchema) addProps, nOneOf); addOneOfInterfaceModel((ComposedSchema) addProps, nOneOf); @@ -1951,7 +1951,7 @@ public class DefaultCodegen implements CodegenConfig { */ public String toInstantiationType(Schema schema) { if (ModelUtils.isMapSchema(schema)) { - Schema additionalProperties = getAdditionalProperties(schema); + Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); return instantiationTypes.get("map") + ""; } else if (ModelUtils.isArraySchema(schema)) { @@ -2067,7 +2067,7 @@ public class DefaultCodegen implements CodegenConfig { if (content.size() > 1) { // @see ModelUtils.getSchemaFromContent() - once(LOGGER).warn("Multiple MediaTypes found, using only the first one"); + once(LOGGER).debug("Multiple MediaTypes found, using only the first one"); } MediaType mediaType = content.values().iterator().next(); @@ -2274,7 +2274,7 @@ public class DefaultCodegen implements CodegenConfig { } protected Schema getSchemaAdditionalProperties(Schema schema) { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", schema.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); @@ -2302,7 +2302,7 @@ public class DefaultCodegen implements CodegenConfig { } else if (names.size() == 1) { return names.get(0); } else { - LOGGER.warn("allOf with multiple schemas defined. Using only the first one: {}", names.get(0)); + LOGGER.debug("allOf with multiple schemas defined. Using only the first one: {}", names.get(0)); return names.get(0); } } @@ -2452,7 +2452,7 @@ public class DefaultCodegen implements CodegenConfig { return schema.getFormat(); } return "string"; - } else if (isFreeFormObject(schema)) { + } else if (ModelUtils.isFreeFormObject(schema)) { // Note: the value of a free-form object cannot be an arbitrary type. Per OAS specification, // it must be a map of string to values. return "object"; @@ -2854,7 +2854,7 @@ public class DefaultCodegen implements CodegenConfig { if (ModelUtils.isMapSchema(schema)) { // an object or anyType composed schema that has additionalProperties set addAdditionPropertiesToCodeGenModel(m, schema); - } else if (ModelUtils.isFreeFormObject(openAPI, schema)) { + } else if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); @@ -3685,7 +3685,7 @@ public class DefaultCodegen implements CodegenConfig { property.maxItems = p.getMaxProperties(); // handle inner property - Schema innerSchema = unaliasSchema(getAdditionalProperties(p)); + Schema innerSchema = unaliasSchema(ModelUtils.getAdditionalProperties(p)); if (innerSchema == null) { LOGGER.error("Undefined map inner type for `{}`. Default to String.", p.getName()); innerSchema = new StringSchema().description("//TODO automatically added by openapi-generator due to undefined type"); @@ -3696,7 +3696,7 @@ public class DefaultCodegen implements CodegenConfig { } protected void updatePropertyForObject(CodegenProperty property, Schema p) { - if (isFreeFormObject(p)) { + if (ModelUtils.isFreeFormObject(p)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema property.isFreeFormObject = true; @@ -4055,7 +4055,7 @@ public class DefaultCodegen implements CodegenConfig { !ModelUtils.isComposedSchema(p) && p.getAdditionalProperties() == null && p.getNot() == null && p.getEnum() == null); - if (!ModelUtils.isArraySchema(p) && !ModelUtils.isMapSchema(p) && !isFreeFormObject(p) && !isAnyTypeWithNothingElseSet) { + if (!ModelUtils.isArraySchema(p) && !ModelUtils.isMapSchema(p) && !ModelUtils.isFreeFormObject(p) && !isAnyTypeWithNothingElseSet) { /* schemas that are not Array, not ModelUtils.isMapSchema, not isFreeFormObject, not AnyType with nothing else set * so primitive schemas int, str, number, referenced schemas, AnyType schemas with properties, enums, or composition */ @@ -4322,7 +4322,7 @@ public class DefaultCodegen implements CodegenConfig { CodegenProperty innerProperty = fromProperty("response", getSchemaItems(as), false); op.returnBaseType = innerProperty.baseType; } else if (ModelUtils.isMapSchema(responseSchema)) { - CodegenProperty innerProperty = fromProperty("response", getAdditionalProperties(responseSchema), false); + CodegenProperty innerProperty = fromProperty("response", ModelUtils.getAdditionalProperties(responseSchema), false); op.returnBaseType = innerProperty.baseType; } else { if (cm.complexType != null) { @@ -4873,7 +4873,7 @@ public class DefaultCodegen implements CodegenConfig { r.isDouble = Boolean.TRUE; } } else if (ModelUtils.isTypeObjectSchema(responseSchema)) { - if (ModelUtils.isFreeFormObject(openAPI, responseSchema)) { + if (ModelUtils.isFreeFormObject(responseSchema)) { r.isFreeFormObject = true; } else { r.isModel = true; @@ -4984,7 +4984,7 @@ public class DefaultCodegen implements CodegenConfig { private void updateParameterForMap(CodegenParameter codegenParameter, Schema parameterSchema, Set imports) { - CodegenProperty codegenProperty = fromProperty("inner", getAdditionalProperties(parameterSchema), false); + CodegenProperty codegenProperty = fromProperty("inner", ModelUtils.getAdditionalProperties(parameterSchema), false); codegenParameter.items = codegenProperty; codegenParameter.mostInnerItems = codegenProperty.mostInnerItems; codegenParameter.baseType = codegenProperty.dataType; @@ -5176,7 +5176,7 @@ public class DefaultCodegen implements CodegenConfig { if (ModelUtils.isMapSchema(parameterSchema)) { // for map parameter updateParameterForMap(codegenParameter, parameterSchema, imports); } - if (ModelUtils.isFreeFormObject(openAPI, parameterSchema)) { + if (ModelUtils.isFreeFormObject(parameterSchema)) { codegenParameter.isFreeFormObject = true; } addVarsRequiredVarsAdditionalProps(parameterSchema, codegenParameter); @@ -6975,7 +6975,7 @@ public class DefaultCodegen implements CodegenConfig { } } } else if (ModelUtils.isTypeObjectSchema(ps)) { - if (ModelUtils.isFreeFormObject(openAPI, ps)) { + if (ModelUtils.isFreeFormObject(ps)) { codegenParameter.isFreeFormObject = true; } } else if (ModelUtils.isNullType(ps)) { @@ -7145,7 +7145,7 @@ public class DefaultCodegen implements CodegenConfig { if (ModelUtils.isGenerateAliasAsModel(schema) && StringUtils.isNotBlank(name)) { this.addBodyModelSchema(codegenParameter, name, schema, imports, bodyParameterName, true); } else { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); if (inner == null) { LOGGER.error("No inner type supplied for map parameter `{}`. Default to type:string", schema.getName()); inner = new StringSchema().description("//TODO automatically added by openapi-generator"); @@ -7212,7 +7212,7 @@ public class DefaultCodegen implements CodegenConfig { if (ModelUtils.isMapSchema(schema)) { // Schema with additionalproperties: true (including composed schemas with additionalproperties: true) updateRequestBodyForMap(codegenParameter, schema, name, imports, bodyParameterName); - } else if (isFreeFormObject(schema)) { + } else if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema codegenParameter.isFreeFormObject = true; @@ -7985,7 +7985,7 @@ public class DefaultCodegen implements CodegenConfig { return false; } - if (isFreeFormObject(schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // make sure it's not free form object return false; } @@ -8001,60 +8001,6 @@ public class DefaultCodegen implements CodegenConfig { return false; } - /** - * Check to see if the schema is a free form object. - * - * A free form object is an object (i.e. 'type: object' in a OAS document) that: - * 1) Does not define properties, and - * 2) Is not a composed schema (no anyOf, oneOf, allOf), and - * 3) additionalproperties is not defined, or additionalproperties: true, or additionalproperties: {}. - * - * Examples: - * - * components: - * schemas: - * arbitraryObject: - * type: object - * description: This is a free-form object. - * The value must be a map of strings to values. The value cannot be 'null'. - * It cannot be array, string, integer, number. - * arbitraryNullableObject: - * type: object - * description: This is a free-form object. - * The value must be a map of strings to values. The value can be 'null', - * It cannot be array, string, integer, number. - * nullable: true - * arbitraryTypeValue: - * description: This is NOT a free-form object. - * The value can be any type except the 'null' value. - * - * @param schema potentially containing a '$ref' - * @return true if it's a free-form object - */ - protected boolean isFreeFormObject(Schema schema) { - // TODO remove this method and replace all usages with ModelUtils.isFreeFormObject - return ModelUtils.isFreeFormObject(this.openAPI, schema); - } - - /** - * Returns the additionalProperties Schema for the specified input schema. - *

- * The additionalProperties keyword is used to control the handling of additional, undeclared - * properties, that is, properties whose names are not listed in the properties keyword. - * The additionalProperties keyword may be either a boolean or an object. - * If additionalProperties is a boolean and set to false, no additional properties are allowed. - * By default when the additionalProperties keyword is not specified in the input schema, - * any additional properties are allowed. This is equivalent to setting additionalProperties - * to the boolean value True or setting additionalProperties: {} - * - * @param schema the input schema that may or may not have the additionalProperties keyword. - * @return the Schema of the additionalProperties. The null value is returned if no additional - * properties are allowed. - */ - protected Schema getAdditionalProperties(Schema schema) { - return ModelUtils.getAdditionalProperties(openAPI, schema); - } - /** * Check if the given MIME is a JSON MIME. * JSON MIME examples: diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index c3083e2462c..ffe2133148d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -488,7 +488,7 @@ public class DefaultGenerator implements Generator { Schema schema = schemas.get(name); - if (ModelUtils.isFreeFormObject(this.openAPI, schema)) { // check to see if it's a free-form object + if (ModelUtils.isFreeFormObject(schema)) { // check to see if it's a free-form object // there are 3 free form use cases // 1. free form with no validation that is not allOf included in any composed schemas // 2. free form with validation diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java index f1f13591903..419ca634655 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java @@ -798,7 +798,7 @@ public class InlineModelResolver { } } if (ModelUtils.isMapSchema(property)) { - Schema inner = ModelUtils.getAdditionalProperties(openAPI, property); + Schema inner = ModelUtils.getAdditionalProperties(property); if (inner instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) inner; if (op.getProperties() != null && op.getProperties().size() > 0) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java index a8d7286b582..194d40a47c7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/ExampleGenerator.java @@ -269,10 +269,10 @@ public class ExampleGenerator { Map mp = new HashMap(); if (property.getName() != null) { mp.put(property.getName(), - resolvePropertyToExample(propertyName, mediaType, ModelUtils.getAdditionalProperties(openAPI, property), processedModels)); + resolvePropertyToExample(propertyName, mediaType, ModelUtils.getAdditionalProperties(property), processedModels)); } else { mp.put("key", - resolvePropertyToExample(propertyName, mediaType, ModelUtils.getAdditionalProperties(openAPI, property), processedModels)); + resolvePropertyToExample(propertyName, mediaType, ModelUtils.getAdditionalProperties(property), processedModels)); } return mp; } else if (ModelUtils.isUUIDSchema(property)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java index 88f9f088550..19dab6e5364 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java @@ -456,7 +456,7 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg return getTypeDeclaration(inner) + "_Vectors.Vector"; } if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); String name = getTypeDeclaration(inner) + "_Map"; if (name.startsWith(openApiPackageName)) { return name; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java index d64a2d56714..332e52ca448 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java @@ -197,7 +197,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code } return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); if (inner == null) { LOGGER.warn("{}(map property) does not have a proper inner type defined", p.getName()); @@ -230,11 +230,11 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code } else if (ModelUtils.isMapSchema(p)) { final MapSchema ap = (MapSchema) p; final String pattern = "new HashMap<%s>()"; - if (getAdditionalProperties(ap) == null) { + if (ModelUtils.getAdditionalProperties(ap) == null) { return null; } - return String.format(Locale.ROOT, pattern, String.format(Locale.ROOT, "String, %s", getTypeDeclaration(getAdditionalProperties(ap)))); + return String.format(Locale.ROOT, pattern, String.format(Locale.ROOT, "String, %s", getTypeDeclaration(ModelUtils.getAdditionalProperties(ap)))); } else if (ModelUtils.isLongSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString() + "l"; @@ -367,7 +367,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code } else if (ModelUtils.isLongSchema(p)) { example = example.isEmpty() ? "123456789L" : example + "L"; } else if (ModelUtils.isMapSchema(p)) { - example = "new " + getTypeDeclaration(p) + "{'key'=>" + toExampleValue(getAdditionalProperties(p)) + "}"; + example = "new " + getTypeDeclaration(p) + "{'key'=>" + toExampleValue(ModelUtils.getAdditionalProperties(p)) + "}"; } else if (ModelUtils.isPasswordSchema(p)) { example = example.isEmpty() ? "password123" : escapeText(example); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index 901a057f789..c8e08476421 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -1168,7 +1168,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co return getArrayTypeDeclaration((ArraySchema) p); } else if (ModelUtils.isMapSchema(p)) { // Should we also support maps of maps? - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java index 51a8b4bdeae..385a2181d84 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractDartCodegen.java @@ -518,7 +518,7 @@ public abstract class AbstractDartCodegen extends DefaultCodegen { if (ModelUtils.isMapSchema(target)) { // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines // additionalproperties: true - Schema inner = getAdditionalProperties(target); + Schema inner = ModelUtils.getAdditionalProperties(target); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java index 5ec99bafe61..8f071ddc40c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java @@ -297,7 +297,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co Schema inner = ap.getItems(); return "LIST [" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + " [" + getTypeDeclaration(inner) + "]"; } @@ -569,7 +569,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co public String toInstantiationType(Schema p) { return getTypeDeclaration(p); // if (ModelUtils.isMapSchema(p)) { -// Schema additionalProperties2 = getAdditionalProperties(p); +// Schema additionalProperties2 = ModelUtils.getAdditionalProperties(p); // String type = additionalProperties2.getType(); // if (null == type) { // LOGGER.error("No Type defined for Additional Schema " + additionalProperties2 + "\n" // diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java index 0b66281495b..01bbe5e57a0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractFSharpCodegen.java @@ -880,7 +880,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co return getArrayTypeDeclaration((ArraySchema) p); } else if (ModelUtils.isMapSchema(p)) { // Should we also support maps of maps? - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java index 703242c9434..802f3e3dcc5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java @@ -365,7 +365,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege } return "[]" + typDecl; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[string]" + getTypeDeclaration(unaliasSchema(inner)); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index a2a60fff0ec..ea066a8beca 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.base.Strings; import com.google.common.collect.Sets; +import io.swagger.models.Model; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.PathItem; @@ -930,7 +931,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } else if (ModelUtils.isMapSchema(target)) { // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines // additionalproperties: true - Schema inner = getAdditionalProperties(target); + Schema inner = ModelUtils.getAdditionalProperties(target); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); @@ -1064,7 +1065,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code return null; } - if (getAdditionalProperties(schema) == null) { + if (ModelUtils.getAdditionalProperties(schema) == null) { return null; } @@ -1220,7 +1221,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code if (content.size() > 1) { // @see ModelUtils.getSchemaFromContent() - LOGGER.warn("Multiple MediaTypes found, using only the first one"); + LOGGER.debug("Multiple MediaTypes found, using only the first one"); } MediaType mediaType = content.values().iterator().next(); @@ -2226,7 +2227,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } // See https://github.com/OpenAPITools/openapi-generator/pull/1729#issuecomment-449937728 - Schema s = getAdditionalProperties(schema); + Schema s = ModelUtils.getAdditionalProperties(schema); // 's' may be null if 'additionalProperties: false' in the OpenAPI schema. if (s != null) { codegenModel.additionalPropertiesType = getSchemaType(s); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java index b5823310890..6eac2ae7da3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java @@ -328,10 +328,10 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen { Schema inner = ap.getItems(); return getSchemaType(schema) + "{" + getTypeDeclaration(inner) + "}"; } else if (ModelUtils.isSet(schema)) { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); return getSchemaType(schema) + "{" + getTypeDeclaration(inner) + "}"; } else if (ModelUtils.isMapSchema(schema)) { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); return getSchemaType(schema) + "{String, " + getTypeDeclaration(inner) + "}"; } return super.getTypeDeclaration(schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index a03eb5a5431..c1e9f481492 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -386,7 +386,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co } else if (ModelUtils.isMapSchema(target)) { // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines // additionalproperties: true - Schema inner = getAdditionalProperties(target); + Schema inner = ModelUtils.getAdditionalProperties(target); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); @@ -1138,7 +1138,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co addAdditionPropertiesToCodeGenModel(m, schema); } else { m.setIsMap(false); - if (ModelUtils.isFreeFormObject(openAPI, schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index ebe0d0cf59b..0cd4bc50836 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -364,7 +364,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg } return getTypeDeclaration(inner) + "[]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); if (inner == null) { LOGGER.warn("{}(map property) does not have a proper inner type defined. Default to string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonConnexionServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonConnexionServerCodegen.java index 4ec36d33d4c..c1cb47da0a8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonConnexionServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonConnexionServerCodegen.java @@ -346,7 +346,7 @@ public abstract class AbstractPythonConnexionServerCodegen extends AbstractPytho Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[str, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java index 3ecbc7d2f4e..328a280b697 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java @@ -122,7 +122,7 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code Schema inner = ((ArraySchema) schema).getItems(); return getSchemaType(schema) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(schema)) { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); return getSchemaType(schema) + ""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java index 3fa7e4c9368..0764c47c7c7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractScalaCodegen.java @@ -369,7 +369,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { Schema items = getSchemaItems((ArraySchema) schema); return getSchemaType(target) + "[" + getTypeDeclaration(items) + "]"; } else if (ModelUtils.isMapSchema(target)) { - Schema inner = getAdditionalProperties(target); + Schema inner = ModelUtils.getAdditionalProperties(target); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); @@ -396,7 +396,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return instantiationTypes.get("map") + "[String, " + inner + "]"; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; @@ -425,7 +425,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { } else if (ModelUtils.isIntegerSchema(p)) { return null; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "new HashMap[String, " + inner + "]() "; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java index 2feca0467c1..a28e941190b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java @@ -624,7 +624,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp inner = mp1.getItems(); return this.getSchemaType(p) + "<" + this.getParameterDataType(parameter, inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - inner = getAdditionalProperties(p); + inner = ModelUtils.getAdditionalProperties(p); return "{ [key: string]: " + this.getParameterDataType(parameter, inner) + "; }"; } else if (ModelUtils.isStringSchema(p)) { // Handle string enums diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AndroidClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AndroidClientCodegen.java index 0e8ec1d9205..993a48aa769 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AndroidClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AndroidClientCodegen.java @@ -225,7 +225,7 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java index f8d43504d27..57917ba512e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java @@ -236,7 +236,7 @@ public class ApexClientCodegen extends AbstractApexCodegen { Long def = (Long) p.getDefault(); out = def == null ? out : def + "L"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); String s = inner == null ? "Object" : getTypeDeclaration(inner); out = String.format(Locale.ROOT, "new Map()", s); } else if (ModelUtils.isStringSchema(p)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java index 64980677c15..c51225bbec0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java @@ -433,7 +433,7 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig { Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java index 68aeb1666fa..becec19fa72 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java @@ -1496,7 +1496,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { @Override public String toInstantiationType(Schema schema) { if (ModelUtils.isMapSchema(schema)) { - Schema additionalProperties = getAdditionalProperties(schema); + Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); if (ModelUtils.isMapSchema(additionalProperties)) { inner = toInstantiationType(additionalProperties); @@ -1657,7 +1657,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { addAdditionPropertiesToCodeGenModel(m, schema); } else { m.setIsMap(false); - if (ModelUtils.isFreeFormObject(openAPI, schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java index 7255c2d9cb1..0a2f4c2b53f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java @@ -1117,7 +1117,7 @@ public class CSharpReducedClientCodegen extends AbstractCSharpCodegen { @Override public String toInstantiationType(Schema schema) { if (ModelUtils.isMapSchema(schema)) { - Schema additionalProperties = getAdditionalProperties(schema); + Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); if (ModelUtils.isMapSchema(additionalProperties)) { inner = toInstantiationType(additionalProperties); @@ -1184,7 +1184,7 @@ public class CSharpReducedClientCodegen extends AbstractCSharpCodegen { addAdditionPropertiesToCodeGenModel(m, schema); } else { m.setIsMap(false); - if (ModelUtils.isFreeFormObject(openAPI, schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java index a8ea8c701e8..22cdb199c95 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java @@ -112,7 +112,7 @@ public class ConfluenceWikiCodegen extends DefaultCodegen implements CodegenConf Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java index 2a1b5e68e6c..755cf3aac27 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java @@ -386,7 +386,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } else if (ModelUtils.isByteArraySchema(p)) { return "std::string"; @@ -471,7 +471,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { return "\"\""; } } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "std::map()"; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java index 573242d5494..6379cabac07 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java @@ -190,7 +190,7 @@ public abstract class CppQtAbstractCodegen extends AbstractCppCodegen implements Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } else if (ModelUtils.isBinarySchema(p)) { return getSchemaType(p); @@ -226,7 +226,7 @@ public abstract class CppQtAbstractCodegen extends AbstractCppCodegen implements } return "0"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "QMap()"; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index ec800290c28..032f53f08a0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -371,7 +371,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } else if (ModelUtils.isFileSchema(p) || ModelUtils.isBinarySchema(p)) { return "std::shared_ptr<" + openAPIType + ">"; @@ -404,7 +404,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { } return "0"; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "std::map()"; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; @@ -417,7 +417,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { return "new " + toModelName(ModelUtils.getSimpleRef(p.get$ref())) + "()"; } else if (ModelUtils.isStringSchema(p)) { return "utility::conversions::to_string_t(\"\")"; - } else if (isFreeFormObject(p)) { + } else if (ModelUtils.isFreeFormObject(p)) { return "new Object()"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java index 93ade02496e..9fd2c4ae691 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java @@ -383,7 +383,7 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } else if (ModelUtils.isByteArraySchema(p)) { return "std::string"; @@ -466,7 +466,7 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { return "\"\""; } } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "std::map()"; } else if (ModelUtils.isSet(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerDeprecatedCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerDeprecatedCodegen.java index 0e243b2f61c..bb5941040ad 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerDeprecatedCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerDeprecatedCodegen.java @@ -355,7 +355,7 @@ public class CppRestbedServerDeprecatedCodegen extends AbstractCppCodegen { Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } else if (ModelUtils.isByteArraySchema(p)) { return "std::string"; @@ -430,7 +430,7 @@ public class CppRestbedServerDeprecatedCodegen extends AbstractCppCodegen { return "\"\""; } } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "std::map()"; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java index cec3f30a402..9ac111edaf3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppUE4ClientCodegen.java @@ -387,7 +387,7 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { ArraySchema ap = (ArraySchema) p; return getSchemaType(p) + "<" + getTypeDeclaration(ap.getItems()) + ">"; } else if (ModelUtils.isMapSchema(p)) { - return getSchemaType(p) + ""; + return getSchemaType(p) + ""; } if (pointerClasses.contains(openAPIType)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java index fd072c6bd02..5afccae337b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CrystalClientCodegen.java @@ -575,7 +575,7 @@ public class CrystalClientCodegen extends DefaultCodegen { @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - final Schema additionalProperties = getAdditionalProperties(schema); + final Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); if (additionalProperties != null) { codegenModel.additionalPropertiesType = getSchemaType(additionalProperties); @@ -812,7 +812,7 @@ public class CrystalClientCodegen extends DefaultCodegen { Schema inner = ((ArraySchema) schema).getItems(); return getSchemaType(schema) + "(" + getTypeDeclaration(inner) + ")"; } else if (ModelUtils.isMapSchema(schema)) { - Schema inner = getAdditionalProperties(schema); + Schema inner = ModelUtils.getAdditionalProperties(schema); return getSchemaType(schema) + "(String, " + getTypeDeclaration(inner) + ")"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java index dbde8ce1b58..4d8e7d54644 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElixirClientCodegen.java @@ -550,7 +550,7 @@ public class ElixirClientCodegen extends DefaultCodegen { Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "%{optional(String.t) => " + getTypeDeclaration(inner) + "}"; } else if (ModelUtils.isPasswordSchema(p)) { return "String.t"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java index 09da7fa627f..2648e67cfbf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java @@ -468,7 +468,7 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig { Schema inner = ap.getItems(); return getTypeDeclaration(inner); } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getTypeDeclaration(inner); } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java index f7d835d4196..24e90faffce 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoServerCodegen.java @@ -473,7 +473,7 @@ public class GoServerCodegen extends AbstractGoCodegen { addAdditionPropertiesToCodeGenModel(m, schema); } else { m.setIsMap(false); - if (ModelUtils.isFreeFormObject(openAPI, schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java index f50a6ac4f7e..8182382028b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java @@ -649,7 +649,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "(Map.Map String " + getTypeDeclaration(inner) + ")"; } return super.getTypeDeclaration(p); @@ -671,7 +671,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - Schema additionalProperties2 = getAdditionalProperties(p); + Schema additionalProperties2 = ModelUtils.getAdditionalProperties(p); String type = additionalProperties2.getType(); if (null == type) { LOGGER.error("No Type defined for Additional Schema {}\n\tIn Schema: {}", additionalProperties2, p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index 96397b796f4..581f1350f1b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -382,7 +382,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "(Map.Map String " + getTypeDeclaration(inner) + ")"; } return fixModelChars(super.getTypeDeclaration(p)); @@ -417,7 +417,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - Schema additionalProperties2 = getAdditionalProperties(p); + Schema additionalProperties2 = ModelUtils.getAdditionalProperties(p); String type = additionalProperties2.getType(); if (null == type) { LOGGER.error("No Type defined for Additional Property {}\n\tIn Property: {}", additionalProperties2, p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellYesodServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellYesodServerCodegen.java index 8b8c49076fc..15df7fd778b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellYesodServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellYesodServerCodegen.java @@ -305,7 +305,7 @@ public class HaskellYesodServerCodegen extends DefaultCodegen implements Codegen Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "(Map.Map String " + getTypeDeclaration(inner) + ")"; } return fixModelChars(super.getTypeDeclaration(p)); @@ -340,7 +340,7 @@ public class HaskellYesodServerCodegen extends DefaultCodegen implements Codegen @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - Schema additionalProperties2 = getAdditionalProperties(p); + Schema additionalProperties2 = ModelUtils.getAdditionalProperties(p); String type = additionalProperties2.getType(); if (null == type) { LOGGER.error("No Type defined for Additional Property {}\n\tIn Property: {}", additionalProperties2, p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JMeterClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JMeterClientCodegen.java index bad912d9a8f..b8953d8f984 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JMeterClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JMeterClientCodegen.java @@ -208,7 +208,7 @@ public class JMeterClientCodegen extends DefaultCodegen implements CodegenConfig Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFServerCodegen.java index af7bbb6cc7e..d0e98d06aaa 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFServerCodegen.java @@ -369,7 +369,7 @@ public class JavaCXFServerCodegen extends AbstractJavaJAXRSServerCodegen addAdditionPropertiesToCodeGenModel(m, schema); } else { m.setIsMap(false); - if (ModelUtils.isFreeFormObject(openAPI, schema)) { + if (ModelUtils.isFreeFormObject(schema)) { // non-composed object type with no properties + additionalProperties // additionalProperties must be null, ObjectSchema, or empty Schema addAdditionPropertiesToCodeGenModel(m, schema); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptApolloClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptApolloClientCodegen.java index e979a72b2c1..1746d0c090a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptApolloClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptApolloClientCodegen.java @@ -614,7 +614,7 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "{String: " + getTypeDeclaration(inner) + "}"; } return super.getTypeDeclaration(p); @@ -879,8 +879,8 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod codegenModel.vendorExtensions.put("x-item-type", itemType); } } else if (ModelUtils.isMapSchema(model)) { - if (codegenModel != null && getAdditionalProperties(model) != null) { - String itemType = getSchemaType(getAdditionalProperties(model)); + if (codegenModel != null && ModelUtils.getAdditionalProperties(model) != null) { + String itemType = getSchemaType(ModelUtils.getAdditionalProperties(model)); codegenModel.vendorExtensions.put("x-is-map", true); codegenModel.vendorExtensions.put("x-item-type", itemType); } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java index 5d388308675..c0ae1f4e8b7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java @@ -599,7 +599,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "{String: " + getTypeDeclaration(inner) + "}"; } return super.getTypeDeclaration(p); @@ -866,8 +866,8 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo codegenModel.vendorExtensions.put("x-item-type", itemType); } } else if (ModelUtils.isMapSchema(model)) { - if (codegenModel != null && getAdditionalProperties(model) != null) { - String itemType = getSchemaType(getAdditionalProperties(model)); + if (codegenModel != null && ModelUtils.getAdditionalProperties(model) != null) { + String itemType = getSchemaType(ModelUtils.getAdditionalProperties(model)); codegenModel.vendorExtensions.put("x-is-map", true); codegenModel.vendorExtensions.put("x-item-type", itemType); } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClosureAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClosureAngularClientCodegen.java index b0649d5a8a1..38b57b1a7c1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClosureAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClosureAngularClientCodegen.java @@ -229,7 +229,7 @@ public class JavascriptClosureAngularClientCodegen extends DefaultCodegen implem Schema inner = ap.getItems(); return getSchemaType(p) + ""; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "Object"; } else if (ModelUtils.isFileSchema(p)) { return "Object"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java index 6de5cdeda04..6943a3887ec 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java @@ -26,6 +26,7 @@ import org.openapitools.codegen.meta.features.DocumentationFeature; import org.openapitools.codegen.meta.features.SecurityFeature; import org.openapitools.codegen.model.ModelMap; import org.openapitools.codegen.model.ModelsMap; +import org.openapitools.codegen.utils.ModelUtils; import java.util.*; @@ -114,7 +115,7 @@ public class JavascriptFlowtypedClientCodegen extends AbstractTypeScriptClientCo @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java index aeff481eaf6..0c525dae653 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java @@ -372,7 +372,7 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { Schema inner = ap.getItems(); return getTypeDeclaration(inner); } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getTypeDeclaration(inner); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NimClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NimClientCodegen.java index 6b2e9b21b51..71486156b33 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NimClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NimClientCodegen.java @@ -282,7 +282,7 @@ public class NimClientCodegen extends DefaultCodegen implements CodegenConfig { } return "seq[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); if (inner == null) { inner = new StringSchema(); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java index 509f6d49956..e05314c77c9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java @@ -590,7 +590,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig } return getTypeDeclaration(inner) + " list"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); if (inner == null) { LOGGER.warn("{}(map property) does not have a proper inner type defined. Default to string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java index 0b7f640cba5..fe18bd9f218 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java @@ -392,7 +392,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { return getSchemaType(p) + "<" + innerTypeDeclaration + ">*"; } } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); String innerTypeDeclaration = getTypeDeclaration(inner); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java index d4a44799ba4..34d05b08100 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java @@ -263,7 +263,7 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[string," + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java index a2388a6fc12..7d92a0ec091 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java @@ -179,7 +179,7 @@ public class PhpSilexServerCodegen extends DefaultCodegen implements CodegenConf Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[string," + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index 56a901ee545..a5b5f227269 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -544,7 +544,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg } if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getTypeDeclaration(inner); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java index 79a55ee8bab..8237eb0d894 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java @@ -612,7 +612,7 @@ public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConf Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + ""; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index e684c7a8305..d505891283f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -396,7 +396,7 @@ public class PythonClientCodegen extends AbstractPythonCodegen implements Codege Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[str, " + getTypeDeclaration(inner) + "]"; } @@ -1507,7 +1507,7 @@ public class PythonClientCodegen extends AbstractPythonCodegen implements Codege @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - final Schema additionalProperties = getAdditionalProperties(schema); + final Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); if (additionalProperties != null) { codegenModel.additionalPropertiesType = getSchemaType(additionalProperties); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java index 0e9aa9ad30f..1a120350ee6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java @@ -214,7 +214,7 @@ public class PythonFastAPIServerCodegen extends AbstractPythonCodegen { Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[str, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index e15f1816e8a..5514520c0d0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -519,7 +519,7 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig { Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "(" + getTypeDeclaration(inner) + ")"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java index f4bbb55076c..0c6bc28a4bd 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java @@ -25,6 +25,7 @@ import org.openapitools.codegen.model.ModelMap; import org.openapitools.codegen.model.ModelsMap; import org.openapitools.codegen.model.OperationMap; import org.openapitools.codegen.model.OperationsMap; +import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -596,7 +597,7 @@ public class RubyClientCodegen extends AbstractRubyCodegen { @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - final Schema additionalProperties = getAdditionalProperties(schema); + final Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); if (additionalProperties != null) { codegenModel.additionalPropertiesType = getSchemaType(additionalProperties); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 896d466950f..922249a0cee 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -436,7 +436,7 @@ public class RustClientCodegen extends AbstractRustCodegen implements CodegenCon } return "Vec<" + getTypeDeclaration(inner) + ">"; } else if (ModelUtils.isMapSchema(unaliasSchema)) { - Schema inner = getAdditionalProperties(unaliasSchema); + Schema inner = ModelUtils.getAdditionalProperties(unaliasSchema); if (inner == null) { LOGGER.warn("{}(map property) does not have a proper inner type defined. Default to string", unaliasSchema.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java index 60e977633c8..2b309f5dfa7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java @@ -988,7 +988,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon String innerType = getTypeDeclaration(inner); return typeMapping.get("array") + "<" + innerType + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); String innerType = getTypeDeclaration(inner); StringBuilder typeDeclaration = new StringBuilder(typeMapping.get("map")).append("<").append(typeMapping.get("string")).append(", "); typeDeclaration.append(innerType).append(">"); @@ -1022,7 +1022,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon Schema inner = ap.getItems(); return instantiationTypes.get("array") + "<" + getSchemaType(inner) + ">"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return instantiationTypes.get("map") + "<" + typeMapping.get("string") + ", " + getSchemaType(inner) + ">"; } else { return null; @@ -1084,7 +1084,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon additionalProperties.put("usesXmlNamespaces", true); } - Schema additionalProperties = getAdditionalProperties(model); + Schema additionalProperties = ModelUtils.getAdditionalProperties(model); if (additionalProperties != null) { mdl.additionalPropertiesType = getTypeDeclaration(additionalProperties); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaAkkaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaAkkaClientCodegen.java index 56de6df44db..b6c05191414 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaAkkaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaAkkaClientCodegen.java @@ -287,7 +287,7 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code } else if (ModelUtils.isIntegerSchema(p)) { return null; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "Map[String, " + inner + "].empty "; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java index 4dde3ea3b6f..9b68bc73649 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaFinchServerCodegen.java @@ -265,7 +265,7 @@ public class ScalaFinchServerCodegen extends DefaultCodegen implements CodegenCo Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java index 7098f0d591d..edaf45cdd91 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java @@ -388,7 +388,7 @@ public class ScalaGatlingCodegen extends AbstractScalaCodegen implements Codegen Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaPlayFrameworkServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaPlayFrameworkServerCodegen.java index fe503eb1ed0..475cefe2ac6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaPlayFrameworkServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaPlayFrameworkServerCodegen.java @@ -363,7 +363,7 @@ public class ScalaPlayFrameworkServerCodegen extends AbstractScalaCodegen implem } if (ModelUtils.isMapSchema(p)) { - Schema ap = getAdditionalProperties(p); + Schema ap = ModelUtils.getAdditionalProperties(p); String inner = getSchemaType(ap); return "Map.empty[String, " + inner + "]"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttp4ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttp4ClientCodegen.java index 7146fff3b6c..f9b40cd9033 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttp4ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttp4ClientCodegen.java @@ -405,7 +405,7 @@ public class ScalaSttp4ClientCodegen extends AbstractScalaCodegen implements Cod } else if (ModelUtils.isIntegerSchema(p)) { return null; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "Map[String, " + inner + "].empty "; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttpClientCodegen.java index e6c15946cae..c08a4d90708 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaSttpClientCodegen.java @@ -423,7 +423,7 @@ public class ScalaSttpClientCodegen extends AbstractScalaCodegen implements Code } else if (ModelUtils.isIntegerSchema(p)) { return null; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "Map[String, " + inner + "].empty "; } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalazClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalazClientCodegen.java index fe714b2ee87..f61a508ecc2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalazClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalazClientCodegen.java @@ -184,7 +184,7 @@ public class ScalazClientCodegen extends AbstractScalaCodegen implements Codegen } else if (ModelUtils.isIntegerSchema(p)) { return null; } else if (ModelUtils.isMapSchema(p)) { - String inner = getSchemaType(getAdditionalProperties(p)); + String inner = getSchemaType(ModelUtils.getAdditionalProperties(p)); return "Map.empty[String, " + inner + "] "; } else if (ModelUtils.isArraySchema(p)) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java index b2210f39f51..6884e8e7df9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java @@ -137,7 +137,7 @@ public class StaticHtml2Generator extends DefaultCodegen implements CodegenConfi Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java index 63457b57d7d..a01c4924c86 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java @@ -120,7 +120,7 @@ public class StaticHtmlGenerator extends DefaultCodegen implements CodegenConfig Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java index dbfc9045ec7..76535094fe3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift5ClientCodegen.java @@ -389,7 +389,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - final Schema additionalProperties = getAdditionalProperties(schema); + final Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); if (additionalProperties != null) { Schema inner = null; @@ -397,7 +397,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig ArraySchema ap = (ArraySchema) schema; inner = ap.getItems(); } else if (ModelUtils.isMapSchema(schema)) { - inner = getAdditionalProperties(schema); + inner = ModelUtils.getAdditionalProperties(schema); } codegenModel.additionalPropertiesType = inner != null ? getTypeDeclaration(inner) : getSchemaType(additionalProperties); @@ -680,7 +680,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig Schema inner = ap.getItems(); return ModelUtils.isSet(p) ? "Set<" + getTypeDeclaration(inner) + ">" : "[" + getTypeDeclaration(inner) + "]"; } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); + Schema inner = ModelUtils.getAdditionalProperties(p); return "[String: " + getTypeDeclaration(inner) + "]"; } return super.getTypeDeclaration(p); @@ -796,7 +796,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - return getSchemaType(getAdditionalProperties(p)); + return getSchemaType(ModelUtils.getAdditionalProperties(p)); } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java index 937715359f8..6dcb3434e8b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftCombineClientCodegen.java @@ -294,7 +294,7 @@ public class SwiftCombineClientCodegen extends DefaultCodegen implements Codegen } else if (ModelUtils.isMapSchema(target)) { // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines // additionalproperties: true - Schema inner = getAdditionalProperties(target); + Schema inner = ModelUtils.getAdditionalProperties(target); if (inner == null) { LOGGER.error("`{}` (map property) does not have a proper inner type defined. Default to type:string", p.getName()); inner = new StringSchema().description("TODO default missing map inner type to string"); @@ -424,7 +424,7 @@ public class SwiftCombineClientCodegen extends DefaultCodegen implements Codegen @Override public String toInstantiationType(Schema p) { if (ModelUtils.isMapSchema(p)) { - return getSchemaType(getAdditionalProperties(p)); + return getSchemaType(ModelUtils.getAdditionalProperties(p)); } else if (ModelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index abd76f4b83b..bf06f3a00a1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -141,7 +141,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java index dc0681955ee..5a6a4045a7c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAxiosClientCodegen.java @@ -210,7 +210,7 @@ public class TypeScriptAxiosClientCodegen extends AbstractTypeScriptClientCodege @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index 5ad8d344d4e..fb131f00499 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -1041,7 +1041,7 @@ public class TypeScriptClientCodegen extends AbstractTypeScriptClientCodegen imp if (content.size() > 1) { // @see ModelUtils.getSchemaFromContent() - once(LOGGER).warn("Multiple MediaTypes found, using only the first one"); + once(LOGGER).debug("Multiple MediaTypes found, using only the first one"); } MediaType mediaType = content.values().iterator().next(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java index 2892c2ca29f..0ab99f1f652 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java @@ -325,7 +325,7 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java index fb4c041cf93..a9479562c19 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java @@ -27,6 +27,7 @@ import org.openapitools.codegen.model.ModelMap; import org.openapitools.codegen.model.ModelsMap; import org.openapitools.codegen.model.OperationMap; import org.openapitools.codegen.model.OperationsMap; +import org.openapitools.codegen.utils.ModelUtils; import java.io.File; import java.util.*; @@ -80,7 +81,7 @@ public class TypeScriptInversifyClientCodegen extends AbstractTypeScriptClientCo @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java index 6b4999be108..fed4fca0584 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java @@ -112,7 +112,7 @@ public class TypeScriptJqueryClientCodegen extends AbstractTypeScriptClientCodeg @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getSchemaType(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getSchemaType(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNestjsClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNestjsClientCodegen.java index bc74742e283..9b3f73b71f3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNestjsClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNestjsClientCodegen.java @@ -103,7 +103,7 @@ public class TypeScriptNestjsClientCodegen extends AbstractTypeScriptClientCodeg @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java index 60f4c2acea5..b80b2e9b8b6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java @@ -334,7 +334,7 @@ public class TypeScriptNodeClientCodegen extends AbstractTypeScriptClientCodegen @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { super.addAdditionPropertiesToCodeGenModel(codegenModel, schema); - Schema additionalProperties = getAdditionalProperties(schema); + Schema additionalProperties = ModelUtils.getAdditionalProperties(schema); codegenModel.additionalPropertiesType = getSchemaType(additionalProperties); if ("array".equalsIgnoreCase(codegenModel.additionalPropertiesType)) { codegenModel.additionalPropertiesType += '<' + getSchemaType(((ArraySchema) additionalProperties).getItems()) + '>'; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptReduxQueryClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptReduxQueryClientCodegen.java index b8098c5eba1..2f2af10c5f3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptReduxQueryClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptReduxQueryClientCodegen.java @@ -123,7 +123,7 @@ public class TypeScriptReduxQueryClientCodegen extends AbstractTypeScriptClientC @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptRxjsClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptRxjsClientCodegen.java index aeaca5caf3c..e3b557f3117 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptRxjsClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptRxjsClientCodegen.java @@ -117,7 +117,7 @@ public class TypeScriptRxjsClientCodegen extends AbstractTypeScriptClientCodegen @Override protected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, Schema schema) { - codegenModel.additionalPropertiesType = getTypeDeclaration(getAdditionalProperties(schema)); + codegenModel.additionalPropertiesType = getTypeDeclaration(ModelUtils.getAdditionalProperties(schema)); addImport(codegenModel, codegenModel.additionalPropertiesType); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java index 7252a1149a8..5a3b4054bf5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java @@ -741,11 +741,10 @@ public class ModelUtils { * description: This is NOT a free-form object. * The value can be any type except the 'null' value. * - * @param openAPI the object that encapsulates the OAS document. * @param schema potentially containing a '$ref' * @return true if it's a free-form object */ - public static boolean isFreeFormObject(OpenAPI openAPI, Schema schema) { + public static boolean isFreeFormObject(Schema schema) { if (schema == null) { // TODO: Is this message necessary? A null schema is not a free-form object, so the result is correct. once(LOGGER).error("Schema cannot be null in isFreeFormObject check"); @@ -765,7 +764,7 @@ public class ModelUtils { if ("object".equals(schema.getType())) { // no properties if ((schema.getProperties() == null || schema.getProperties().isEmpty())) { - Schema addlProps = getAdditionalProperties(openAPI, schema); + Schema addlProps = ModelUtils.getAdditionalProperties(schema); if (schema.getExtensions() != null && schema.getExtensions().containsKey(freeFormExplicit)) { // User has hard-coded vendor extension to handle free-form evaluation. @@ -1006,7 +1005,7 @@ public class ModelUtils { if (content.size() > 1) { // Other content types are currently ignored by codegen. If you see this warning, // reorder the OAS spec to put the desired content type first. - once(LOGGER).warn("Multiple schemas found in the OAS 'content' section, returning only the first one ({})", + once(LOGGER).debug("Multiple schemas found in the OAS 'content' section, returning only the first one ({})", entry.getKey()); } return entry.getValue().getSchema(); @@ -1194,12 +1193,11 @@ public class ModelUtils { * any additional properties are allowed. This is equivalent to setting additionalProperties * to the boolean value True or setting additionalProperties: {} * - * @param openAPI the object that encapsulates the OAS document. * @param schema the input schema that may or may not have the additionalProperties keyword. * @return the Schema of the additionalProperties. The null value is returned if no additional * properties are allowed. */ - public static Schema getAdditionalProperties(OpenAPI openAPI, Schema schema) { + public static Schema getAdditionalProperties(Schema schema) { Object addProps = schema.getAdditionalProperties(); if (addProps instanceof Schema) { return (Schema) addProps; diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 63eb0dda1d2..5d79286bbc0 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -296,7 +296,7 @@ public class DefaultCodegenTest { Schema schema = openAPI.getComponents().getSchemas().get("AdditionalPropertiesClass"); Assert.assertNull(schema.getAdditionalProperties()); - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, schema); + Schema addProps = ModelUtils.getAdditionalProperties(schema); // The petstore-with-fake-endpoints-models-for-testing.yaml does not set the // 'additionalProperties' keyword for this model, hence assert the value to be null. Assert.assertNull(addProps); @@ -342,7 +342,7 @@ public class DefaultCodegenTest { // additionalProperties: true. // UPDATE fixed in swagger parser 2.1.14 Assert.assertTrue((Boolean) map_with_additional_properties_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_with_additional_properties_sc); + addProps = ModelUtils.getAdditionalProperties(map_with_additional_properties_sc); Assert.assertEquals(addProps, new Schema()); Assert.assertNotNull(map_with_additional_properties_cp.getAdditionalProperties()); @@ -355,7 +355,7 @@ public class DefaultCodegenTest { // additionalProperties: false. // UPDATE fixed in swagger parser 2.1.14 Assert.assertFalse((Boolean) map_without_additional_properties_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_without_additional_properties_sc); + addProps = ModelUtils.getAdditionalProperties(map_without_additional_properties_sc); Assert.assertNull(addProps); Assert.assertNull(map_without_additional_properties_cp.getAdditionalProperties()); @@ -387,7 +387,7 @@ public class DefaultCodegenTest { Schema schema = openAPI.getComponents().getSchemas().get("AdditionalPropertiesClass"); Assert.assertNull(schema.getAdditionalProperties()); - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, schema); + Schema addProps = ModelUtils.getAdditionalProperties(schema); // The petstore-with-fake-endpoints-models-for-testing.yaml does not set the // 'additionalProperties' keyword for this model, hence assert the value to be null. Assert.assertNull(addProps); @@ -433,7 +433,7 @@ public class DefaultCodegenTest { // additionalProperties: true. // UPDATE fixed in swagger parser 2.1.14 Assert.assertTrue((Boolean) map_with_additional_properties_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_with_additional_properties_sc); + addProps = ModelUtils.getAdditionalProperties(map_with_additional_properties_sc); Assert.assertEquals(addProps, new Schema()); Assert.assertNotNull(map_with_additional_properties_cp.getAdditionalProperties()); @@ -446,7 +446,7 @@ public class DefaultCodegenTest { // additionalProperties: false. // UPDATE fixed in swagger parser 2.1.14 Assert.assertFalse((Boolean) map_without_additional_properties_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_without_additional_properties_sc); + addProps = ModelUtils.getAdditionalProperties(map_without_additional_properties_sc); Assert.assertEquals(addProps, null); Assert.assertNull(map_without_additional_properties_cp.getAdditionalProperties()); @@ -470,7 +470,7 @@ public class DefaultCodegenTest { // When the 'additionalProperties' keyword is not present, the schema may be // extended with any undeclared properties. - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, componentSchema); + Schema addProps = ModelUtils.getAdditionalProperties(componentSchema); Assert.assertNotNull(addProps); Assert.assertEquals(addProps, new Schema()); CodegenModel cm = codegen.fromModel("AdditionalPropertiesClass", componentSchema); @@ -515,7 +515,7 @@ public class DefaultCodegenTest { // which means by default undeclared properties are allowed. Assert.assertNotNull(map_with_undeclared_properties_anytype_1_sc); Assert.assertNull(map_with_undeclared_properties_anytype_1_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_with_undeclared_properties_anytype_1_sc); + addProps = ModelUtils.getAdditionalProperties(map_with_undeclared_properties_anytype_1_sc); Assert.assertNotNull(addProps); Assert.assertEquals(addProps, new Schema()); Assert.assertNotNull(map_with_undeclared_properties_anytype_1_cp.getAdditionalProperties()); @@ -525,7 +525,7 @@ public class DefaultCodegenTest { // which means by default undeclared properties are allowed. Assert.assertNotNull(map_with_undeclared_properties_anytype_2_sc); Assert.assertNull(map_with_undeclared_properties_anytype_2_sc.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_with_undeclared_properties_anytype_2_sc); + addProps = ModelUtils.getAdditionalProperties(map_with_undeclared_properties_anytype_2_sc); Assert.assertNotNull(addProps); Assert.assertEquals(addProps, new Schema()); Assert.assertNotNull(map_with_undeclared_properties_anytype_2_cp.getAdditionalProperties()); @@ -538,7 +538,7 @@ public class DefaultCodegenTest { // additionalProperties: true. Assert.assertNotNull(map_with_undeclared_properties_anytype_3_sc.getAdditionalProperties()); Assert.assertEquals(map_with_undeclared_properties_anytype_3_sc.getAdditionalProperties(), Boolean.TRUE); - addProps = ModelUtils.getAdditionalProperties(openAPI, map_with_undeclared_properties_anytype_3_sc); + addProps = ModelUtils.getAdditionalProperties(map_with_undeclared_properties_anytype_3_sc); Assert.assertNotNull(addProps); Assert.assertEquals(addProps, new Schema()); Assert.assertNotNull(map_with_undeclared_properties_anytype_3_cp.getAdditionalProperties()); @@ -551,7 +551,7 @@ public class DefaultCodegenTest { // additionalProperties: false. Assert.assertNotNull(empty_map_sc.getAdditionalProperties()); Assert.assertEquals(empty_map_sc.getAdditionalProperties(), Boolean.FALSE); - addProps = ModelUtils.getAdditionalProperties(openAPI, empty_map_sc); + addProps = ModelUtils.getAdditionalProperties(empty_map_sc); Assert.assertNull(addProps); Assert.assertNull(empty_map_cp.getAdditionalProperties()); @@ -576,7 +576,7 @@ public class DefaultCodegenTest { Schema schema = openAPI.getComponents().getSchemas().get("AdditionalPropertiesClass"); Assert.assertNull(schema.getAdditionalProperties()); - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, schema); + Schema addProps = ModelUtils.getAdditionalProperties(schema); Assert.assertNull(addProps); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java index 6077d428aaa..3f1ad95ffbe 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/utils/ModelUtilsTest.java @@ -133,7 +133,7 @@ public class ModelUtilsTest { Schema commandSchema = ModelUtils.getSchema(openAPI, "Command"); Assert.assertTrue(ModelUtils.isModel(commandSchema)); - Assert.assertFalse(ModelUtils.isFreeFormObject(openAPI, commandSchema)); + Assert.assertFalse(ModelUtils.isFreeFormObject(commandSchema)); } @Test @@ -238,23 +238,23 @@ public class ModelUtilsTest { OpenAPI openAPI = new OpenAPI().openapi("3.0.0"); // Create initial "empty" object schema. ObjectSchema objSchema = new ObjectSchema(); - Assert.assertTrue(ModelUtils.isFreeFormObject(openAPI, objSchema)); + Assert.assertTrue(ModelUtils.isFreeFormObject(objSchema)); // Set additionalProperties to an empty ObjectSchema. objSchema.setAdditionalProperties(new ObjectSchema()); - Assert.assertTrue(ModelUtils.isFreeFormObject(openAPI, objSchema)); + Assert.assertTrue(ModelUtils.isFreeFormObject(objSchema)); // Add a single property to the schema (no longer a free-form object). Map props = new HashMap<>(); props.put("prop1", new StringSchema()); objSchema.setProperties(props); - Assert.assertFalse(ModelUtils.isFreeFormObject(openAPI, objSchema)); + Assert.assertFalse(ModelUtils.isFreeFormObject(objSchema)); // Test a non-object schema - Assert.assertFalse(ModelUtils.isFreeFormObject(openAPI, new StringSchema())); + Assert.assertFalse(ModelUtils.isFreeFormObject(new StringSchema())); // Test a null schema - Assert.assertFalse(ModelUtils.isFreeFormObject(openAPI, null)); + Assert.assertFalse(ModelUtils.isFreeFormObject(null)); } @Test