diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java index c3cbfe56925..ce456b5647d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java @@ -111,8 +111,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti /** * True if this property is an array of items or a map container. * See: - * - ModelUtils.isArraySchema() - * - ModelUtils.isMapSchema() + * - modelUtils.isArraySchema() + * - modelUtils.isMapSchema() */ public boolean isContainer; public boolean isString; 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 80b52aa37da..692c71fe925 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 @@ -332,7 +332,7 @@ public class DefaultCodegen implements CodegenConfig { } if (additionalProperties.containsKey(CodegenConstants.GENERATE_ALIAS_AS_MODEL)) { - ModelUtils.setGenerateAliasAsModel(Boolean.valueOf(additionalProperties + modelUtils.setGenerateAliasAsModel(Boolean.valueOf(additionalProperties .get(CodegenConstants.GENERATE_ALIAS_AS_MODEL).toString())); } @@ -462,7 +462,7 @@ public class DefaultCodegen implements CodegenConfig { if (modelNameToSchemaCache == null) { // Create a cache to efficiently lookup schema based on model name. Map m = new HashMap(); - ModelUtils.getSchemas(openAPI).forEach((key, schema) -> { + modelUtils.getSchemas().forEach((key, schema) -> { m.put(toModelName(key), schema); }); modelNameToSchemaCache = Collections.unmodifiableMap(m); @@ -747,7 +747,21 @@ public class DefaultCodegen implements CodegenConfig { this.openAPI = openAPI; // Set global settings such that helper functions in ModelUtils can lookup the value // of the CLI option. - ModelUtils.setDisallowAdditionalPropertiesIfNotPresent(getDisallowAdditionalPropertiesIfNotPresent()); + modelUtils.setDisallowAdditionalPropertiesIfNotPresent(getDisallowAdditionalPropertiesIfNotPresent()); + } + + /** + * Get the OpenAPI document. + */ + public OpenAPI getOpenAPI() { + return this.openAPI; + } + + /** + * Get the ModeUtils object. + */ + public ModelUtils getModelUtils() { + return this.modelUtils; } // override with any special post-processing @@ -789,18 +803,18 @@ public class DefaultCodegen implements CodegenConfig { for (Map.Entry op : e.getValue().readOperationsMap().entrySet()) { String opId = getOrGenerateOperationId(op.getValue(), e.getKey(), op.getKey().toString()); // process request body - RequestBody b = ModelUtils.getReferencedRequestBody(openAPI, op.getValue().getRequestBody()); + RequestBody b = modelUtils.getReferencedRequestBody(op.getValue().getRequestBody()); Schema requestSchema = null; if (b != null) { - requestSchema = ModelUtils.getSchemaFromRequestBody(b); + requestSchema = modelUtils.getSchemaFromRequestBody(b); } if (requestSchema != null) { schemas.put(opId, requestSchema); } // process all response bodies for (Map.Entry ar : op.getValue().getResponses().entrySet()) { - ApiResponse a = ModelUtils.getReferencedApiResponse(openAPI, ar.getValue()); - Schema responseSchema = ModelUtils.getSchemaFromResponse(a); + ApiResponse a = modelUtils.getReferencedApiResponse(ar.getValue()); + Schema responseSchema = modelUtils.getSchemaFromResponse(a); if (responseSchema != null) { schemas.put(opId + ar.getKey(), responseSchema); } @@ -828,7 +842,7 @@ public class DefaultCodegen implements CodegenConfig { String n = toModelName(e.getKey()); Schema s = e.getValue(); String nOneOf = toModelName(n + "OneOf"); - if (ModelUtils.isComposedSchema(s)) { + if (modelUtils.isComposedSchema(s)) { if (e.getKey().contains("/")) { // if this is property schema, we also need to generate the oneOf interface model addOneOfNameExtension((ComposedSchema) s, nOneOf); @@ -837,15 +851,15 @@ public class DefaultCodegen implements CodegenConfig { // else this is a component schema, so we will just use that as the oneOf interface model addOneOfNameExtension((ComposedSchema) s, n); } - } else if (ModelUtils.isArraySchema(s)) { + } else if (modelUtils.isArraySchema(s)) { Schema items = ((ArraySchema) s).getItems(); - if (ModelUtils.isComposedSchema(items)) { + if (modelUtils.isComposedSchema(items)) { addOneOfNameExtension((ComposedSchema) items, nOneOf); addOneOfInterfaceModel((ComposedSchema) items, nOneOf, openAPI); } - } else if (ModelUtils.isMapSchema(s)) { + } else if (modelUtils.isMapSchema(s)) { Schema addProps = getAdditionalProperties(s); - if (addProps != null && ModelUtils.isComposedSchema(addProps)) { + if (addProps != null && modelUtils.isComposedSchema(addProps)) { addOneOfNameExtension((ComposedSchema) addProps, nOneOf); addOneOfInterfaceModel((ComposedSchema) addProps, nOneOf, openAPI); } @@ -1646,15 +1660,15 @@ public class DefaultCodegen implements CodegenConfig { * @return string presentation of the instantiation type of the property */ public String toInstantiationType(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { Schema additionalProperties = getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); return instantiationTypes.get("map") + ""; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { ArraySchema arraySchema = (ArraySchema) schema; String inner = getSchemaType(getSchemaItems(arraySchema)); String parentType; - if (ModelUtils.isSet(schema)) { + if (modelUtils.isSet(schema)) { parentType = "set"; } else { parentType = "array"; @@ -1750,7 +1764,7 @@ public class DefaultCodegen implements CodegenConfig { Content content = requestBody.getContent(); if (content.size() > 1) { - // @see ModelUtils.getSchemaFromContent() + // @see modelUtils.getSchemaFromContent() once(LOGGER).warn("Multiple MediaTypes found, using only the first one"); } @@ -1831,19 +1845,19 @@ public class DefaultCodegen implements CodegenConfig { /* * Although all branches return null, this is left intentionally as examples for new contributors */ - if (ModelUtils.isBooleanSchema(schema)) { + if (modelUtils.isBooleanSchema(schema)) { return "null"; - } else if (ModelUtils.isDateSchema(schema)) { + } else if (modelUtils.isDateSchema(schema)) { return "null"; - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { return "null"; - } else if (ModelUtils.isNumberSchema(schema)) { + } else if (modelUtils.isNumberSchema(schema)) { return "null"; - } else if (ModelUtils.isIntegerSchema(schema)) { + } else if (modelUtils.isIntegerSchema(schema)) { return "null"; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { return "null"; - } else if (ModelUtils.isObjectSchema(schema)) { + } else if (modelUtils.isObjectSchema(schema)) { return "null"; } else { return "null"; @@ -1874,7 +1888,7 @@ public class DefaultCodegen implements CodegenConfig { if (schema instanceof ComposedSchema) { // composed schema ComposedSchema cs = (ComposedSchema) schema; // Get the interfaces, i.e. the set of elements under 'allOf', 'anyOf' or 'oneOf'. - List schemas = ModelUtils.getInterfaces(cs); + List schemas = modelUtils.getInterfaces(cs); List names = new ArrayList<>(); // Build a list of the schema types under each interface. @@ -1976,7 +1990,7 @@ public class DefaultCodegen implements CodegenConfig { } public Schema unaliasSchema(Schema schema, Map usedImportMappings) { - return ModelUtils.unaliasSchema(this.openAPI, schema, usedImportMappings); + return modelUtils.unaliasSchema(schema, usedImportMappings); } /** @@ -1990,7 +2004,7 @@ public class DefaultCodegen implements CodegenConfig { if (StringUtils.isNotBlank(unaliasSchema.get$ref())) { // reference to another definition/schema // get the schema/model name from $ref - String schemaName = ModelUtils.getSimpleRef(unaliasSchema.get$ref()); + String schemaName = modelUtils.getSimpleRef(unaliasSchema.get$ref()); if (StringUtils.isNotEmpty(schemaName)) { if (importMapping.containsKey(schemaName)) { return schemaName; @@ -2018,55 +2032,55 @@ public class DefaultCodegen implements CodegenConfig { private String getPrimitiveType(Schema schema) { if (schema == null) { throw new RuntimeException("schema cannot be null in getPrimitiveType"); - } else if (ModelUtils.isNullType(schema)) { + } else if (modelUtils.isNullType(schema)) { // The 'null' type is allowed in OAS 3.1 and above. It is not supported by OAS 3.0.x, // though this tooling supports it. return "null"; - } else if (ModelUtils.isDecimalSchema(schema)) { + } else if (modelUtils.isDecimalSchema(schema)) { // special handle of type: string, format: number return "decimal"; - } else if (ModelUtils.isByteArraySchema(schema)) { + } else if (modelUtils.isByteArraySchema(schema)) { return "ByteArray"; - } else if (ModelUtils.isFileSchema(schema)) { + } else if (modelUtils.isFileSchema(schema)) { return "file"; - } else if (ModelUtils.isBinarySchema(schema)) { + } else if (modelUtils.isBinarySchema(schema)) { return SchemaTypeUtil.BINARY_FORMAT; - } else if (ModelUtils.isBooleanSchema(schema)) { + } else if (modelUtils.isBooleanSchema(schema)) { return SchemaTypeUtil.BOOLEAN_TYPE; - } else if (ModelUtils.isDateSchema(schema)) { + } else if (modelUtils.isDateSchema(schema)) { return SchemaTypeUtil.DATE_FORMAT; - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { return "DateTime"; - } else if (ModelUtils.isNumberSchema(schema)) { + } else if (modelUtils.isNumberSchema(schema)) { if (schema.getFormat() == null) { // no format defined return "number"; - } else if (ModelUtils.isFloatSchema(schema)) { + } else if (modelUtils.isFloatSchema(schema)) { return SchemaTypeUtil.FLOAT_FORMAT; - } else if (ModelUtils.isDoubleSchema(schema)) { + } else if (modelUtils.isDoubleSchema(schema)) { return SchemaTypeUtil.DOUBLE_FORMAT; } else { LOGGER.warn("Unknown `format` {} detected for type `number`. Defaulting to `number`", schema.getFormat()); return "number"; } - } else if (ModelUtils.isIntegerSchema(schema)) { - if (ModelUtils.isLongSchema(schema)) { + } else if (modelUtils.isIntegerSchema(schema)) { + if (modelUtils.isLongSchema(schema)) { return "long"; } else { return schema.getType(); // integer } - } else if (ModelUtils.isMapSchema(schema)) { + } else if (modelUtils.isMapSchema(schema)) { return "map"; - } else if (ModelUtils.isArraySchema(schema)) { - if (ModelUtils.isSet(schema)) { + } else if (modelUtils.isArraySchema(schema)) { + if (modelUtils.isSet(schema)) { return "set"; } else { return "array"; } - } else if (ModelUtils.isUUIDSchema(schema)) { + } else if (modelUtils.isUUIDSchema(schema)) { return "UUID"; - } else if (ModelUtils.isURISchema(schema)) { + } else if (modelUtils.isURISchema(schema)) { return "URI"; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { if (typeMapping.containsKey(schema.getFormat())) { // If the format matches a typeMapping (supplied with the --typeMappings flag) // then treat the format as a primitive type. @@ -2075,13 +2089,13 @@ public class DefaultCodegen implements CodegenConfig { return schema.getFormat(); } return "string"; - } else if (ModelUtils.isFreeFormObject(openAPI, 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"; } else if (schema.getProperties() != null && !schema.getProperties().isEmpty()) { // having property implies it's a model return "object"; - } else if (ModelUtils.isAnyTypeSchema(openAPI, schema)) { + } else if (modelUtils.isAnyTypeSchema(schema)) { return "AnyType"; } else if (StringUtils.isNotEmpty(schema.getType())) { if (!importMapping.containsKey(schema.getType())) { @@ -2243,7 +2257,7 @@ public class DefaultCodegen implements CodegenConfig { * @return Codegen Model object */ public CodegenModel fromModel(String name, Schema schema) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); if (typeAliases == null) { // Only do this once during first call typeAliases = getAllAliases(allDefinitions); @@ -2290,7 +2304,7 @@ public class DefaultCodegen implements CodegenConfig { m.xmlNamespace = schema.getXml().getNamespace(); m.xmlName = schema.getXml().getName(); } - if (ModelUtils.isAnyTypeSchema(openAPI, schema)) { + if (modelUtils.isAnyTypeSchema(schema)) { // The 'null' value is allowed when the OAS schema is 'any type'. // See https://github.com/OAI/OpenAPI-Specification/issues/1389 if (Boolean.FALSE.equals(schema.getNullable())) { @@ -2298,13 +2312,13 @@ public class DefaultCodegen implements CodegenConfig { } m.isNullable = true; } - if (ModelUtils.isArraySchema(schema)) { + if (modelUtils.isArraySchema(schema)) { m.isArray = true; CodegenProperty arrayProperty = fromProperty(name, schema); m.setItems(arrayProperty.items); m.arrayModelType = arrayProperty.complexType; addParentContainer(m, name, schema); - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); } else if (schema instanceof ComposedSchema) { final ComposedSchema composed = (ComposedSchema) schema; Map properties = new LinkedHashMap(); @@ -2322,8 +2336,8 @@ public class DefaultCodegen implements CodegenConfig { } // parent model - final String parentName = ModelUtils.getParentName(composed, allDefinitions); - final List allParents = ModelUtils.getAllParentsName(composed, allDefinitions, false); + final String parentName = modelUtils.getParentName(composed, allDefinitions); + final List allParents = modelUtils.getAllParentsName(composed, allDefinitions, false); final Schema parent = StringUtils.isBlank(parentName) || allDefinitions == null ? null : allDefinitions.get(parentName); // TODO revise the logic below to set dicriminator, xml attributes @@ -2360,7 +2374,7 @@ public class DefaultCodegen implements CodegenConfig { } // interfaces (schemas defined in allOf, anyOf, oneOf) - List interfaces = ModelUtils.getInterfaces(composed); + List interfaces = modelUtils.getInterfaces(composed); if (!interfaces.isEmpty()) { // m.interfaces is for backward compatibility if (m.interfaces == null) @@ -2395,7 +2409,7 @@ public class DefaultCodegen implements CodegenConfig { // the rest of the section is for model Schema refSchema = null; - String ref = ModelUtils.getSimpleRef(interfaceSchema.get$ref()); + String ref = modelUtils.getSimpleRef(interfaceSchema.get$ref()); if (allDefinitions != null) { refSchema = allDefinitions.get(ref); } @@ -2492,50 +2506,50 @@ public class DefaultCodegen implements CodegenConfig { m.allowableValues = new HashMap(); m.allowableValues.put("values", schema.getEnum()); } - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { addAdditionPropertiesToCodeGenModel(m, schema); m.isMap = true; - } else if (ModelUtils.isIntegerSchema(schema)) { // integer type + } else if (modelUtils.isIntegerSchema(schema)) { // integer type // NOTE: Integral schemas as CodegenModel is a rare use case and may be removed at a later date. // Sync of properties is done for consistency with other data types like CodegenParameter/CodegenProperty. - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); m.isNumeric = Boolean.TRUE; - if (ModelUtils.isLongSchema(schema)) { // int64/long format + if (modelUtils.isLongSchema(schema)) { // int64/long format m.isLong = Boolean.TRUE; } else { // int32 format m.isInteger = Boolean.TRUE; } - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { // NOTE: DateTime schemas as CodegenModel is a rare use case and may be removed at a later date. // Sync of properties is done for consistency with other data types like CodegenParameter/CodegenProperty. - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); m.isDateTime = Boolean.TRUE; - } else if (ModelUtils.isDateSchema(schema)) { + } else if (modelUtils.isDateSchema(schema)) { // NOTE: Date schemas as CodegenModel is a rare use case and may be removed at a later date. // Sync of properties is done for consistency with other data types like CodegenParameter/CodegenProperty. - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); m.isDate = Boolean.TRUE; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { // NOTE: String schemas as CodegenModel is a rare use case and may be removed at a later date. // Sync of properties is done for consistency with other data types like CodegenParameter/CodegenProperty. - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); m.isString = Boolean.TRUE; - } else if (ModelUtils.isNumberSchema(schema)) { + } else if (modelUtils.isNumberSchema(schema)) { // NOTE: Number schemas as CodegenModel is a rare use case and may be removed at a later date. // Sync of properties is done for consistency with other data types like CodegenParameter/CodegenProperty. - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); m.isNumeric = Boolean.TRUE; - if (ModelUtils.isFloatSchema(schema)) { // float + if (modelUtils.isFloatSchema(schema)) { // float m.isFloat = Boolean.TRUE; - } else if (ModelUtils.isDoubleSchema(schema)) { // double + } else if (modelUtils.isDoubleSchema(schema)) { // double m.isDouble = Boolean.TRUE; } else { // type is number and without format m.isNumber = Boolean.TRUE; } - } else if (ModelUtils.isFreeFormObject(openAPI, schema)) { + } else if (modelUtils.isFreeFormObject(schema)) { addAdditionPropertiesToCodeGenModel(m, schema); - ModelUtils.syncValidationProperties(schema, m); + modelUtils.syncValidationProperties(schema, m); } if (Boolean.TRUE.equals(schema.getNullable())) { @@ -2626,11 +2640,11 @@ public class DefaultCodegen implements CodegenConfig { * @param discPropName The String that is the discriminator propertyName in the schema */ private CodegenProperty discriminatorFound(String composedSchemaName, Schema sc, String discPropName, OpenAPI openAPI) { - Schema refSchema = ModelUtils.getReferencedSchema(openAPI, sc); + Schema refSchema = modelUtils.getReferencedSchema(sc); if (refSchema.getProperties() != null && refSchema.getProperties().get(discPropName) != null) { Schema discSchema = (Schema) refSchema.getProperties().get(discPropName); CodegenProperty cp = new CodegenProperty(); - if (ModelUtils.isStringSchema(discSchema)) { + if (modelUtils.isStringSchema(discSchema)) { cp.isString = true; } cp.setRequired(false); @@ -2639,7 +2653,7 @@ public class DefaultCodegen implements CodegenConfig { } return cp; } - if (ModelUtils.isComposedSchema(refSchema)) { + if (modelUtils.isComposedSchema(refSchema)) { ComposedSchema composedSchema = (ComposedSchema) refSchema; if (composedSchema.getAllOf() != null) { // If our discriminator is in one of the allOf schemas break when we find it @@ -2654,7 +2668,7 @@ public class DefaultCodegen implements CodegenConfig { // All oneOf definitions must contain the discriminator CodegenProperty cp = new CodegenProperty(); for (Schema oneOf : composedSchema.getOneOf()) { - String modelName = ModelUtils.getSimpleRef(oneOf.get$ref()); + String modelName = modelUtils.getSimpleRef(oneOf.get$ref()); CodegenProperty thisCp = discriminatorFound(composedSchemaName, oneOf, discPropName, openAPI); if (thisCp == null) { throw new RuntimeException("'" + composedSchemaName + "' defines discriminator '" + discPropName + "', but the referenced OneOf schema '" + modelName + "' is missing " + discPropName); @@ -2673,7 +2687,7 @@ public class DefaultCodegen implements CodegenConfig { // All anyOf definitions must contain the discriminator because a min of one must be selected CodegenProperty cp = new CodegenProperty(); for (Schema anyOf : composedSchema.getAnyOf()) { - String modelName = ModelUtils.getSimpleRef(anyOf.get$ref()); + String modelName = modelUtils.getSimpleRef(anyOf.get$ref()); CodegenProperty thisCp = discriminatorFound(composedSchemaName, anyOf, discPropName, openAPI); if (thisCp == null) { throw new RuntimeException("'" + composedSchemaName + "' defines discriminator '" + discPropName + "', but the referenced AnyOf schema '" + modelName + "' is missing " + discPropName); @@ -2701,7 +2715,7 @@ public class DefaultCodegen implements CodegenConfig { * @param sc The Schema that may contain the discriminator */ private Discriminator recursiveGetDiscriminator(Schema sc, OpenAPI openAPI) { - Schema refSchema = ModelUtils.getReferencedSchema(openAPI, sc); + Schema refSchema = modelUtils.getReferencedSchema(sc); Discriminator foundDisc = refSchema.getDiscriminator(); if (foundDisc != null) { return foundDisc; @@ -2711,7 +2725,7 @@ public class DefaultCodegen implements CodegenConfig { return null; } Discriminator disc = new Discriminator(); - if (ModelUtils.isComposedSchema(refSchema)) { + if (modelUtils.isComposedSchema(refSchema)) { ComposedSchema composedSchema = (ComposedSchema) refSchema; if (composedSchema.getAllOf() != null) { // If our discriminator is in one of the allOf schemas break when we find it @@ -2730,7 +2744,7 @@ public class DefaultCodegen implements CodegenConfig { Integer hasNullTypeCnt = 0; Set discriminatorsPropNames = new HashSet<>(); for (Schema oneOf : composedSchema.getOneOf()) { - if (ModelUtils.isNullType(oneOf)) { + if (modelUtils.isNullType(oneOf)) { // The null type does not have a discriminator. Skip. hasNullTypeCnt++; continue; @@ -2759,7 +2773,7 @@ public class DefaultCodegen implements CodegenConfig { Integer hasNullTypeCnt = 0; Set discriminatorsPropNames = new HashSet<>(); for (Schema anyOf : composedSchema.getAnyOf()) { - if (ModelUtils.isNullType(anyOf)) { + if (modelUtils.isNullType(anyOf)) { // The null type does not have a discriminator. Skip. hasNullTypeCnt++; continue; @@ -2810,7 +2824,7 @@ public class DefaultCodegen implements CodegenConfig { continue; } for (Schema sc : schemaList) { - if (ModelUtils.isNullType(sc)) { + if (modelUtils.isNullType(sc)) { continue; } String ref = sc.get$ref(); @@ -2824,7 +2838,7 @@ public class DefaultCodegen implements CodegenConfig { throw new RuntimeException("Invalid inline schema defined in oneOf/anyOf in '" + composedSchemaName + "'. Per the OpenApi spec, for this case when a composed schema defines a discriminator, the oneOf/anyOf schemas must use $ref. Change this inline definition to a $ref definition"); } CodegenProperty df = discriminatorFound(composedSchemaName, sc, discPropName, openAPI); - String modelName = ModelUtils.getSimpleRef(ref); + String modelName = modelUtils.getSimpleRef(ref); if (df == null || !df.isString || df.required != true) { String msgSuffix = ""; if (df == null) { @@ -2845,7 +2859,7 @@ public class DefaultCodegen implements CodegenConfig { } MappedModel mm = new MappedModel(modelName, toModelName(modelName)); descendentSchemas.add(mm); - Schema cs = ModelUtils.getSchema(openAPI, modelName); + Schema cs = modelUtils.getSchema(modelName); Map vendorExtensions = cs.getExtensions(); if (vendorExtensions != null && !vendorExtensions.isEmpty() && vendorExtensions.containsKey("x-discriminator-value")) { String xDiscriminatorValue = (String) vendorExtensions.get("x-discriminator-value"); @@ -2861,7 +2875,7 @@ public class DefaultCodegen implements CodegenConfig { protected List getAllOfDescendants(String thisSchemaName, OpenAPI openAPI) { ArrayList queue = new ArrayList(); List descendentSchemas = new ArrayList(); - Map schemas = ModelUtils.getSchemas(openAPI); + Map schemas = modelUtils.getSchemas(); String currentSchemaName = thisSchemaName; Set keys = schemas.keySet(); @@ -2873,7 +2887,7 @@ public class DefaultCodegen implements CodegenConfig { continue; } Schema child = schemas.get(childName); - if (ModelUtils.isComposedSchema(child)) { + if (modelUtils.isComposedSchema(child)) { ComposedSchema composedChild = (ComposedSchema) child; List parents = composedChild.getAllOf(); if (parents != null) { @@ -2885,7 +2899,7 @@ public class DefaultCodegen implements CodegenConfig { // we hit this use case when an allOf composed schema contains an inline schema continue; } - String parentName = ModelUtils.getSimpleRef(ref); + String parentName = modelUtils.getSimpleRef(ref); if (parentName != null && parentName.equals(currentSchemaName)) { if (queue.contains(childName) || descendentSchemas.stream().anyMatch(i -> childName.equals(i.getMappingName()))) { throw new RuntimeException("Stack overflow hit when looking for " + thisSchemaName + " an infinite loop starting and ending at " + childName + " was seen"); @@ -2931,7 +2945,7 @@ public class DefaultCodegen implements CodegenConfig { if (sourceDiscriminator.getMapping() != null && !sourceDiscriminator.getMapping().isEmpty()) { for (Entry e : sourceDiscriminator.getMapping().entrySet()) { String nameOrRef = e.getValue(); - String name = nameOrRef.indexOf('/') >= 0 ? ModelUtils.getSimpleRef(nameOrRef) : nameOrRef; + String name = nameOrRef.indexOf('/') >= 0 ? modelUtils.getSimpleRef(nameOrRef) : nameOrRef; String modelName = toModelName(name); uniqueDescendants.add(new MappedModel(e.getKey(), modelName)); } @@ -2957,7 +2971,7 @@ public class DefaultCodegen implements CodegenConfig { } } // if there are composed oneOf/anyOf schemas, add them to this discriminator - if (ModelUtils.isComposedSchema(schema) && !this.getLegacyDiscriminatorBehavior()) { + if (modelUtils.isComposedSchema(schema) && !this.getLegacyDiscriminatorBehavior()) { List otherDescendants = getOneOfAnyOfDescendants(schemaName, discPropName, (ComposedSchema) schema, openAPI); for (MappedModel otherDescendant : otherDescendants) { if (!uniqueDescendants.contains(otherDescendant)) { @@ -3020,7 +3034,7 @@ public class DefaultCodegen implements CodegenConfig { } if (StringUtils.isNotBlank(schema.get$ref())) { - Schema interfaceSchema = ModelUtils.getReferencedSchema(this.openAPI, schema); + Schema interfaceSchema = modelUtils.getReferencedSchema(schema); addProperties(properties, required, interfaceSchema); return; } @@ -3075,7 +3089,7 @@ public class DefaultCodegen implements CodegenConfig { CodegenProperty property = CodegenModelFactory.newInstance(CodegenModelType.PROPERTY); - ModelUtils.syncValidationProperties(p, property); + modelUtils.syncValidationProperties(p, property); property.name = toVarName(name); property.baseName = name; @@ -3102,9 +3116,9 @@ public class DefaultCodegen implements CodegenConfig { // Since $ref should be replaced with the model it refers // to, $ref'ing a model with 'deprecated' set should cause // the property to reflect the model's 'deprecated' value. - String ref = ModelUtils.getSimpleRef(p.get$ref()); + String ref = modelUtils.getSimpleRef(p.get$ref()); if (ref != null) { - Schema referencedSchema = ModelUtils.getSchemas(this.openAPI).get(ref); + Schema referencedSchema = modelUtils.getSchemas().get(ref); if (referencedSchema != null && referencedSchema.getDeprecated() != null) { property.deprecated = referencedSchema.getDeprecated(); } @@ -3133,9 +3147,9 @@ public class DefaultCodegen implements CodegenConfig { } String type = getSchemaType(p); - if (ModelUtils.isIntegerSchema(p)) { // integer type + if (modelUtils.isIntegerSchema(p)) { // integer type property.isNumeric = Boolean.TRUE; - if (ModelUtils.isLongSchema(p)) { // int64/long format + if (modelUtils.isLongSchema(p)) { // int64/long format property.isLong = Boolean.TRUE; } else { // int32 format property.isInteger = Boolean.TRUE; @@ -3162,17 +3176,17 @@ public class DefaultCodegen implements CodegenConfig { if (property.minimum != null || property.maximum != null || p.getMultipleOf() != null) property.hasValidation = true; - } else if (ModelUtils.isBooleanSchema(p)) { // boolean type + } else if (modelUtils.isBooleanSchema(p)) { // boolean type property.isBoolean = true; property.getter = toBooleanGetter(name); - } else if (ModelUtils.isDateSchema(p)) { // date format + } else if (modelUtils.isDateSchema(p)) { // date format property.isString = false; // for backward compatibility with 2.x property.isDate = true; - } else if (ModelUtils.isDateTimeSchema(p)) { // date-time format + } else if (modelUtils.isDateTimeSchema(p)) { // date-time format property.isString = false; // for backward compatibility with 2.x property.isDateTime = true; - } else if (ModelUtils.isDecimalSchema(p)) { // type: string, format: number + } else if (modelUtils.isDecimalSchema(p)) { // type: string, format: number property.isDecimal = true; if (p.getMinimum() != null) { property.minimum = String.valueOf(p.getMinimum()); @@ -3195,22 +3209,22 @@ public class DefaultCodegen implements CodegenConfig { if (property.minimum != null || property.maximum != null || p.getMultipleOf() != null) { property.hasValidation = true; } - } else if (ModelUtils.isStringSchema(p)) { - if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isStringSchema(p)) { + if (modelUtils.isByteArraySchema(p)) { property.isByteArray = true; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { property.isBinary = true; property.isFile = true; // file = binary in OAS3 - } else if (ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isFileSchema(p)) { property.isFile = true; - } else if (ModelUtils.isUUIDSchema(p)) { + } else if (modelUtils.isUUIDSchema(p)) { // keep isString to true to make it backward compatible property.isString = true; property.isUuid = true; - } else if (ModelUtils.isURISchema(p)) { + } else if (modelUtils.isURISchema(p)) { property.isString = true; // for backward compatibility property.isUri = true; - } else if (ModelUtils.isEmailSchema(p)) { + } else if (modelUtils.isEmailSchema(p)) { property.isString = true; property.isEmail = true; } else { @@ -3225,11 +3239,11 @@ public class DefaultCodegen implements CodegenConfig { if (property.pattern != null || property.minLength != null || property.maxLength != null) property.hasValidation = true; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { property.isNumeric = Boolean.TRUE; - if (ModelUtils.isFloatSchema(p)) { // float + if (modelUtils.isFloatSchema(p)) { // float property.isFloat = Boolean.TRUE; - } else if (ModelUtils.isDoubleSchema(p)) { // double + } else if (modelUtils.isDoubleSchema(p)) { // double property.isDouble = Boolean.TRUE; } else { // type is number and without format property.isNumber = Boolean.TRUE; @@ -3257,9 +3271,9 @@ public class DefaultCodegen implements CodegenConfig { property.hasValidation = true; } - } else if (ModelUtils.isFreeFormObject(openAPI, p)) { + } else if (modelUtils.isFreeFormObject(p)) { property.isFreeFormObject = true; - } else if (ModelUtils.isAnyTypeSchema(openAPI, p)) { + } else if (modelUtils.isAnyTypeSchema(p)) { // The 'null' value is allowed when the OAS schema is 'any type'. // See https://github.com/OAI/OpenAPI-Specification/issues/1389 if (Boolean.FALSE.equals(p.getNullable())) { @@ -3267,11 +3281,11 @@ public class DefaultCodegen implements CodegenConfig { } property.isNullable = true; property.isAnyType = true; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { // default to string if inner item is undefined ArraySchema arraySchema = (ArraySchema) p; Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), importMapping); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema innerSchema = unaliasSchema(getAdditionalProperties(p), importMapping); if (innerSchema == null) { LOGGER.error("Undefined map inner type for `{}`. Default to String.", p.getName()); @@ -3296,7 +3310,7 @@ public class DefaultCodegen implements CodegenConfig { } } - Schema referencedSchema = ModelUtils.getReferencedSchema(this.openAPI, p); + Schema referencedSchema = modelUtils.getReferencedSchema(p); //Referenced enum case: if (referencedSchema.getEnum() != null && !referencedSchema.getEnum().isEmpty()) { @@ -3325,10 +3339,10 @@ public class DefaultCodegen implements CodegenConfig { property.datatypeWithEnum = property.dataType; } - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { property.isContainer = true; property.isArray = true; - if (ModelUtils.isSet(p)) { + if (modelUtils.isSet(p)) { property.containerType = "set"; } else { property.containerType = "array"; @@ -3355,7 +3369,7 @@ public class DefaultCodegen implements CodegenConfig { Schema innerSchema = unaliasSchema(getSchemaItems(arraySchema), importMapping); CodegenProperty cp = fromProperty(itemName, innerSchema); updatePropertyForArray(property, cp); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { property.isContainer = true; property.isMap = true; property.containerType = "map"; @@ -3372,13 +3386,13 @@ public class DefaultCodegen implements CodegenConfig { } CodegenProperty cp = fromProperty("inner", innerSchema); updatePropertyForMap(property, cp); - } else if (ModelUtils.isFreeFormObject(openAPI, p)) { + } else if (modelUtils.isFreeFormObject(p)) { property.isFreeFormObject = true; property.baseType = getSchemaType(p); if (languageSpecificPrimitives.contains(property.dataType)) { property.isPrimitiveType = true; } - } else if (ModelUtils.isAnyTypeSchema(openAPI, p)) { + } else if (modelUtils.isAnyTypeSchema(p)) { property.isAnyType = true; property.baseType = getSchemaType(p); if (languageSpecificPrimitives.contains(property.dataType)) { @@ -3386,8 +3400,8 @@ public class DefaultCodegen implements CodegenConfig { } } else { // model setNonArrayMapProperty(property, type); - Schema refOrCurrent = ModelUtils.getReferencedSchema(this.openAPI, p); - property.isModel = (ModelUtils.isComposedSchema(refOrCurrent) || ModelUtils.isObjectSchema(refOrCurrent)) && ModelUtils.isModel(refOrCurrent); + Schema refOrCurrent = modelUtils.getReferencedSchema(p); + property.isModel = (modelUtils.isComposedSchema(refOrCurrent) || modelUtils.isObjectSchema(refOrCurrent)) && modelUtils.isModel(refOrCurrent); } addVarsRequiredVarsAdditionaProps(p, property); @@ -3606,16 +3620,16 @@ public class DefaultCodegen implements CodegenConfig { CodegenOperation op, ApiResponse methodResponse, Map importMappings) { - Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(methodResponse), importMapping); + Schema responseSchema = unaliasSchema(modelUtils.getSchemaFromResponse(methodResponse), importMapping); if (responseSchema != null) { CodegenProperty cm = fromProperty("response", responseSchema); - if (ModelUtils.isArraySchema(responseSchema)) { + if (modelUtils.isArraySchema(responseSchema)) { ArraySchema as = (ArraySchema) responseSchema; CodegenProperty innerProperty = fromProperty("response", getSchemaItems(as)); op.returnBaseType = innerProperty.baseType; - } else if (ModelUtils.isMapSchema(responseSchema)) { + } else if (modelUtils.isMapSchema(responseSchema)) { CodegenProperty innerProperty = fromProperty("response", getAdditionalProperties(responseSchema)); op.returnBaseType = innerProperty.baseType; } else { @@ -3633,7 +3647,7 @@ public class DefaultCodegen implements CodegenConfig { exampleStatusCode = key; } } - op.examples = new ExampleGenerator(schemas, this.openAPI).generateFromResponseSchema(exampleStatusCode, responseSchema, getProducesInfo(this.openAPI, operation)); + op.examples = new ExampleGenerator(schemas, this.openAPI).generateFromResponseSchema(exampleStatusCode, responseSchema, getProducesInfo(operation)); op.defaultResponse = toDefaultValue(responseSchema); op.returnType = cm.dataType; op.returnFormat = cm.dataFormat; @@ -3687,7 +3701,7 @@ public class DefaultCodegen implements CodegenConfig { if (operation == null) throw new RuntimeException("operation cannot be null in fromOperation"); - Map schemas = ModelUtils.getSchemas(this.openAPI); + Map schemas = modelUtils.getSchemas(); CodegenOperation op = CodegenModelFactory.newInstance(CodegenModelType.OPERATION); Set imports = new HashSet(); if (operation.getExtensions() != null && !operation.getExtensions().isEmpty()) { @@ -3816,7 +3830,7 @@ public class DefaultCodegen implements CodegenConfig { } } else { // process body parameter - requestBody = ModelUtils.getReferencedRequestBody(this.openAPI, requestBody); + requestBody = modelUtils.getReferencedRequestBody(requestBody); String bodyParameterName = ""; if (op.vendorExtensions != null && op.vendorExtensions.containsKey("x-codegen-request-body-name")) { @@ -3834,14 +3848,14 @@ public class DefaultCodegen implements CodegenConfig { // add example if (schemas != null) { - op.requestBodyExamples = new ExampleGenerator(schemas, this.openAPI).generate(null, new ArrayList(getConsumesInfo(this.openAPI, operation)), bodyParam.baseType); + op.requestBodyExamples = new ExampleGenerator(schemas, this.openAPI).generate(null, new ArrayList(getConsumesInfo(operation)), bodyParam.baseType); } } } if (parameters != null) { for (Parameter param : parameters) { - param = ModelUtils.getReferencedParameter(this.openAPI, param); + param = modelUtils.getReferencedParameter(param); CodegenParameter p = fromParameter(param, imports); @@ -3988,7 +4002,7 @@ public class DefaultCodegen implements CodegenConfig { contentSchema = mt.getSchema(); } if (contentSchema != null) { - ModelUtils.syncValidationProperties(contentSchema, r); + modelUtils.syncValidationProperties(contentSchema, r); } } @@ -4020,9 +4034,9 @@ public class DefaultCodegen implements CodegenConfig { Schema responseSchema; if (this.openAPI != null && this.openAPI.getComponents() != null) { - responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(response), importMapping); + responseSchema = unaliasSchema(modelUtils.getSchemaFromResponse(response), importMapping); } else { // no model/alias defined - responseSchema = ModelUtils.getSchemaFromResponse(response); + responseSchema = modelUtils.getSchemaFromResponse(response); } r.schema = responseSchema; if (responseSchema != null && responseSchema.getPattern() != null) { @@ -4044,7 +4058,7 @@ public class DefaultCodegen implements CodegenConfig { Map allSchemas = null; CodegenProperty cp = fromProperty("response", responseSchema); - if (ModelUtils.isArraySchema(responseSchema)) { + if (modelUtils.isArraySchema(responseSchema)) { ArraySchema as = (ArraySchema) responseSchema; CodegenProperty items = fromProperty("response", getSchemaItems(as)); r.setItems(items); @@ -4223,7 +4237,7 @@ public class DefaultCodegen implements CodegenConfig { contentSchema = mt.getSchema(); } if (contentSchema != null) { - ModelUtils.syncValidationProperties(contentSchema, codegenParameter); + modelUtils.syncValidationProperties(contentSchema, codegenParameter); } } @@ -4283,7 +4297,7 @@ public class DefaultCodegen implements CodegenConfig { // TODO revise collectionFormat String collectionFormat = null; - if (ModelUtils.isArraySchema(parameterSchema)) { // for array parameter + if (modelUtils.isArraySchema(parameterSchema)) { // for array parameter final ArraySchema arraySchema = (ArraySchema) parameterSchema; Schema inner = getSchemaItems(arraySchema); @@ -4303,7 +4317,7 @@ public class DefaultCodegen implements CodegenConfig { codegenProperty = codegenProperty.items; } - } else if (ModelUtils.isMapSchema(parameterSchema)) { // for map parameter + } else if (modelUtils.isMapSchema(parameterSchema)) { // for map parameter CodegenProperty codegenProperty = fromProperty("inner", getAdditionalProperties(parameterSchema)); codegenParameter.items = codegenProperty; codegenParameter.mostInnerItems = codegenProperty.mostInnerItems; @@ -4342,10 +4356,10 @@ public class DefaultCodegen implements CodegenConfig { } else { codegenParameter.dataType = codegenProperty.dataType; } - if (ModelUtils.isObjectSchema(parameterSchema)) { + if (modelUtils.isObjectSchema(parameterSchema)) { codegenProperty.complexType = codegenParameter.dataType; } - if (ModelUtils.isSet(parameterSchema)) { + if (modelUtils.isSet(parameterSchema)) { imports.add(codegenProperty.baseType); } codegenParameter.dataFormat = codegenProperty.dataFormat; @@ -4382,7 +4396,7 @@ public class DefaultCodegen implements CodegenConfig { // validation // handle maximum, minimum properly for int/long by removing the trailing ".0" - if (ModelUtils.isIntegerSchema(parameterSchema)) { + if (modelUtils.isIntegerSchema(parameterSchema)) { codegenParameter.maximum = parameterSchema.getMaximum() == null ? null : String.valueOf(parameterSchema.getMaximum().longValue()); codegenParameter.minimum = parameterSchema.getMinimum() == null ? null : String.valueOf(parameterSchema.getMinimum().longValue()); } else { @@ -4451,13 +4465,13 @@ public class DefaultCodegen implements CodegenConfig { */ protected String getParameterDataType(Parameter parameter, Schema schema) { if (parameter.get$ref() != null) { - String refName = ModelUtils.getSimpleRef(parameter.get$ref()); + String refName = modelUtils.getSimpleRef(parameter.get$ref()); return toModelName(refName); } return null; } - // TODO revise below as it should be replaced by ModelUtils.isByteArraySchema(parameterSchema) + // TODO revise below as it should be replaced by modelUtils.isByteArraySchema(parameterSchema) public boolean isDataTypeBinary(String dataType) { if (dataType != null) { return dataType.toLowerCase(Locale.ROOT).startsWith("byte"); @@ -4466,7 +4480,7 @@ public class DefaultCodegen implements CodegenConfig { } } - // TODO revise below as it should be replaced by ModelUtils.isFileSchema(parameterSchema) + // TODO revise below as it should be replaced by modelUtils.isFileSchema(parameterSchema) public boolean isDataTypeFile(String dataType) { if (dataType != null) { return dataType.toLowerCase(Locale.ROOT).equals("file"); @@ -4671,7 +4685,7 @@ public class DefaultCodegen implements CodegenConfig { for (Map.Entry headerEntry : response.getHeaders().entrySet()) { String description = headerEntry.getValue().getDescription(); // follow the $ref - Header header = ModelUtils.getReferencedHeader(this.openAPI, headerEntry.getValue()); + Header header = modelUtils.getReferencedHeader(headerEntry.getValue()); Schema schema; if (header.getSchema() == null) { @@ -4953,11 +4967,11 @@ public class DefaultCodegen implements CodegenConfig { return aliases; } - private static Boolean isAliasOfSimpleTypes(Schema schema) { - return (!ModelUtils.isObjectSchema(schema) - && !ModelUtils.isArraySchema(schema) - && !ModelUtils.isMapSchema(schema) - && !ModelUtils.isComposedSchema(schema) + private Boolean isAliasOfSimpleTypes(Schema schema) { + return (!modelUtils.isObjectSchema(schema) + && !modelUtils.isArraySchema(schema) + && !modelUtils.isMapSchema(schema) + && !modelUtils.isComposedSchema(schema) && schema.getEnum() == null); } @@ -5438,7 +5452,7 @@ public class DefaultCodegen implements CodegenConfig { } String varDataType = var.mostInnerItems != null ? var.mostInnerItems.dataType : var.dataType; - Optional referencedSchema = ModelUtils.getSchemas(openAPI).entrySet().stream() + Optional referencedSchema = modelUtils.getSchemas().entrySet().stream() .filter(entry -> Objects.equals(varDataType, toModelName(entry.getKey()))) .map(Map.Entry::getValue) .findFirst(); @@ -5616,7 +5630,7 @@ public class DefaultCodegen implements CodegenConfig { } private void addConsumesInfo(Operation operation, CodegenOperation codegenOperation) { - RequestBody requestBody = ModelUtils.getReferencedRequestBody(this.openAPI, operation.getRequestBody()); + RequestBody requestBody = modelUtils.getReferencedRequestBody(operation.getRequestBody()); if (requestBody == null || requestBody.getContent() == null || requestBody.getContent().isEmpty()) { return; } @@ -5641,8 +5655,8 @@ public class DefaultCodegen implements CodegenConfig { } } - public static Set getConsumesInfo(OpenAPI openAPI, Operation operation) { - RequestBody requestBody = ModelUtils.getReferencedRequestBody(openAPI, operation.getRequestBody()); + public Set getConsumesInfo(Operation operation) { + RequestBody requestBody = modelUtils.getReferencedRequestBody(operation.getRequestBody()); if (requestBody == null || requestBody.getContent() == null || requestBody.getContent().isEmpty()) { return Collections.emptySet(); // return empty set @@ -5650,8 +5664,8 @@ public class DefaultCodegen implements CodegenConfig { return requestBody.getContent().keySet(); } - public boolean hasFormParameter(OpenAPI openAPI, Operation operation) { - Set consumesInfo = getConsumesInfo(openAPI, operation); + public boolean hasFormParameter(Operation operation) { + Set consumesInfo = getConsumesInfo(operation); if (consumesInfo == null || consumesInfo.isEmpty()) { return false; @@ -5668,18 +5682,18 @@ public class DefaultCodegen implements CodegenConfig { return false; } - public boolean hasBodyParameter(OpenAPI openAPI, Operation operation) { - RequestBody requestBody = ModelUtils.getReferencedRequestBody(openAPI, operation.getRequestBody()); + public boolean hasBodyParameter(Operation operation) { + RequestBody requestBody = modelUtils.getReferencedRequestBody(operation.getRequestBody()); if (requestBody == null) { return false; } - Schema schema = ModelUtils.getSchemaFromRequestBody(requestBody); - return ModelUtils.getReferencedSchema(openAPI, schema) != null; + Schema schema = modelUtils.getSchemaFromRequestBody(requestBody); + return modelUtils.getReferencedSchema(schema) != null; } private void addProducesInfo(ApiResponse inputResponse, CodegenOperation codegenOperation) { - ApiResponse response = ModelUtils.getReferencedApiResponse(this.openAPI, inputResponse); + ApiResponse response = modelUtils.getReferencedApiResponse(inputResponse); if (response == null || response.getContent() == null || response.getContent().isEmpty()) { return; } @@ -5711,11 +5725,10 @@ public class DefaultCodegen implements CodegenConfig { /** * returns the list of MIME types the APIs can produce * - * @param openAPI current specification instance * @param operation Operation * @return a set of MIME types */ - public static Set getProducesInfo(final OpenAPI openAPI, final Operation operation) { + public Set getProducesInfo(final Operation operation) { if (operation.getResponses() == null || operation.getResponses().isEmpty()) { return null; } @@ -5723,7 +5736,7 @@ public class DefaultCodegen implements CodegenConfig { Set produces = new TreeSet(); for (ApiResponse r : operation.getResponses().values()) { - ApiResponse response = ModelUtils.getReferencedApiResponse(openAPI, r); + ApiResponse response = modelUtils.getReferencedApiResponse(r); if (response.getContent() != null) { produces.addAll(response.getContent().keySet()); } @@ -5766,8 +5779,8 @@ public class DefaultCodegen implements CodegenConfig { public List fromRequestBodyToFormParameters(RequestBody body, Set imports) { List parameters = new ArrayList(); LOGGER.debug("debugging fromRequestBodyToFormParameters= " + body); - Schema schema = ModelUtils.getSchemaFromRequestBody(body); - schema = ModelUtils.getReferencedSchema(this.openAPI, schema); + Schema schema = modelUtils.getSchemaFromRequestBody(body); + schema = modelUtils.getReferencedSchema(schema); List allRequired = new ArrayList(); Map properties = new LinkedHashMap<>(); addProperties(properties, allRequired, schema); @@ -5779,7 +5792,7 @@ public class DefaultCodegen implements CodegenConfig { // value => property schema Schema s = entry.getValue(); // array of schema - if (ModelUtils.isArraySchema(s)) { + if (modelUtils.isArraySchema(s)) { final ArraySchema arraySchema = (ArraySchema) s; Schema inner = getSchemaItems(arraySchema); @@ -5813,7 +5826,7 @@ public class DefaultCodegen implements CodegenConfig { codegenProperty = codegenProperty.items; } - } else if (ModelUtils.isMapSchema(s)) { + } else if (modelUtils.isMapSchema(s)) { LOGGER.error("Map of form parameters not supported. Please report the issue to https://github.com/openapitools/openapi-generator if you need help."); continue; } else { @@ -5838,7 +5851,7 @@ public class DefaultCodegen implements CodegenConfig { LOGGER.debug("Debugging fromFormProperty {}: {}", name, propertySchema); CodegenProperty codegenProperty = fromProperty(name, propertySchema); - ModelUtils.syncValidationProperties(propertySchema, codegenProperty); + modelUtils.syncValidationProperties(propertySchema, codegenProperty); codegenParameter.isFormParam = Boolean.TRUE; codegenParameter.baseName = codegenProperty.baseName; @@ -5881,7 +5894,7 @@ public class DefaultCodegen implements CodegenConfig { // validation // handle maximum, minimum properly for int/long by removing the trailing ".0" - if (ModelUtils.isIntegerSchema(propertySchema)) { + if (modelUtils.isIntegerSchema(propertySchema)) { codegenParameter.maximum = propertySchema.getMaximum() == null ? null : String.valueOf(propertySchema.getMaximum().longValue()); codegenParameter.minimum = propertySchema.getMinimum() == null ? null : String.valueOf(propertySchema.getMinimum().longValue()); } else { @@ -5953,7 +5966,7 @@ public class DefaultCodegen implements CodegenConfig { codegenParameter.description = codegenProperty.getDescription(); codegenParameter.isNullable = codegenProperty.isNullable; } else { - if (ModelUtils.isMapSchema(schema)) {// http body is map + if (modelUtils.isMapSchema(schema)) {// http body is map LOGGER.error("Map should be supported. Please report to openapi-generator github repo about the issue."); } else if (codegenProperty != null) { String codegenModelName, codegenModelDescription; @@ -6013,21 +6026,21 @@ public class DefaultCodegen implements CodegenConfig { String name = null; LOGGER.debug("Request body = " + body); - Schema schema = ModelUtils.getSchemaFromRequestBody(body); + Schema schema = modelUtils.getSchemaFromRequestBody(body); if (schema == null) { throw new RuntimeException("Request body cannot be null. Possible cause: missing schema in body parameter (OAS v2): " + body); } if (StringUtils.isNotBlank(schema.get$ref())) { - name = ModelUtils.getSimpleRef(schema.get$ref()); + name = modelUtils.getSimpleRef(schema.get$ref()); } - schema = ModelUtils.getReferencedSchema(this.openAPI, schema); + schema = modelUtils.getReferencedSchema(schema); - ModelUtils.syncValidationProperties(schema, codegenParameter); + modelUtils.syncValidationProperties(schema, codegenParameter); - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { // Schema with additionalproperties: true (including composed schemas with additionalproperties: true) - if (ModelUtils.isGenerateAliasAsModel(schema) && StringUtils.isNotBlank(name)) { + if (modelUtils.isGenerateAliasAsModel(schema) && StringUtils.isNotBlank(name)) { this.addBodyModelSchema(codegenParameter, name, schema, imports, bodyParameterName, true); } else { Schema inner = getAdditionalProperties(schema); @@ -6067,8 +6080,8 @@ public class DefaultCodegen implements CodegenConfig { // set nullable setParameterNullable(codegenParameter, codegenProperty); } - } else if (ModelUtils.isArraySchema(schema)) { - if (ModelUtils.isGenerateAliasAsModel(schema) && StringUtils.isNotBlank(name)) { + } else if (modelUtils.isArraySchema(schema)) { + if (modelUtils.isGenerateAliasAsModel(schema) && StringUtils.isNotBlank(name)) { this.addBodyModelSchema(codegenParameter, name, schema, imports, bodyParameterName, true); } else { final ArraySchema arraySchema = (ArraySchema) schema; @@ -6114,7 +6127,7 @@ public class DefaultCodegen implements CodegenConfig { codegenProperty = codegenProperty.items; } } - } else if (ModelUtils.isFreeFormObject(openAPI, schema)) { + } else if (modelUtils.isFreeFormObject(schema)) { // HTTP request body is free form object CodegenProperty codegenProperty = fromProperty("FREE_FORM_REQUEST_BODY", schema); if (codegenProperty != null) { @@ -6134,7 +6147,7 @@ public class DefaultCodegen implements CodegenConfig { // set nullable setParameterNullable(codegenParameter, codegenProperty); - } else if (ModelUtils.isObjectSchema(schema) || ModelUtils.isComposedSchema(schema)) { + } else if (modelUtils.isObjectSchema(schema) || modelUtils.isComposedSchema(schema)) { this.addBodyModelSchema(codegenParameter, name, schema, imports, bodyParameterName, false); } else { // HTTP request body is primitive type (e.g. integer, string, etc) @@ -6484,7 +6497,7 @@ public class DefaultCodegen implements CodegenConfig { } continue; } - cm.oneOf.add(toModelName(ModelUtils.getSimpleRef(o.get$ref()))); + cm.oneOf.add(toModelName(modelUtils.getSimpleRef(o.get$ref()))); } cm.name = type; cm.classname = type; @@ -6567,7 +6580,7 @@ public class DefaultCodegen implements CodegenConfig { * properties are allowed. */ protected Schema getAdditionalProperties(Schema schema) { - return ModelUtils.getAdditionalProperties(openAPI, schema); + return modelUtils.getAdditionalProperties(schema); } final protected static Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)application\\/json(;.*)?"); 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 e63a9716bb9..26062026031 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 @@ -18,6 +18,7 @@ package org.openapitools.codegen; import com.google.common.collect.ImmutableList; +import io.swagger.models.Model; import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; @@ -76,6 +77,7 @@ public class DefaultGenerator implements Generator { protected CodegenConfig config; protected ClientOptInput opts; protected OpenAPI openAPI; + protected ModelUtils modelUtils; protected CodegenIgnoreProcessor ignoreProcessor; private Boolean generateApis = null; private Boolean generateModels = null; @@ -108,6 +110,7 @@ public class DefaultGenerator implements Generator { public Generator opts(ClientOptInput opts) { this.opts = opts; this.openAPI = opts.getOpenAPI(); + this.modelUtils = new ModelUtils(openAPI); this.config = opts.getConfig(); List userFiles = opts.getUserDefinedTemplates(); if (userFiles != null) { @@ -152,6 +155,10 @@ public class DefaultGenerator implements Generator { return this; } + public ModelUtils getModelUtils() { + return modelUtils; + } + /** * Retrieves an instance to the configured template processor, available after user-defined options are * applied via {@link DefaultGenerator#opts(ClientOptInput)}. @@ -397,7 +404,7 @@ public class DefaultGenerator implements Generator { return; } - final Map schemas = ModelUtils.getSchemas(this.openAPI); + final Map schemas = modelUtils.getSchemas(); if (schemas == null) { LOGGER.warn("Skipping generation of models because specification document has no schemas."); return; @@ -458,7 +465,7 @@ public class DefaultGenerator implements Generator { Schema schema = schemas.get(name); - if (ModelUtils.isFreeFormObject(this.openAPI, schema)) { // check to see if it'a a free-form object + if (modelUtils.isFreeFormObject(schema)) { // check to see if it'a 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 @@ -472,17 +479,17 @@ public class DefaultGenerator implements Generator { LOGGER.info("Model {} not generated since it's a free-form object", name); continue; } - } else if (ModelUtils.isMapSchema(schema)) { // check to see if it's a "map" model + } else if (modelUtils.isMapSchema(schema)) { // check to see if it's a "map" model // A composed schema (allOf, oneOf, anyOf) is considered a Map schema if the additionalproperties attribute is set // for that composed schema. However, in the case of a composed schema, the properties are defined or referenced // in the inner schemas, and the outer schema does not have properties. - if (!ModelUtils.isGenerateAliasAsModel(schema) && !ModelUtils.isComposedSchema(schema) && (schema.getProperties() == null || schema.getProperties().isEmpty())) { + if (!modelUtils.isGenerateAliasAsModel(schema) && !modelUtils.isComposedSchema(schema) && (schema.getProperties() == null || schema.getProperties().isEmpty())) { // schema without property, i.e. alias to map LOGGER.info("Model {} not generated since it's an alias to map (without property) and `generateAliasAsModel` is set to false (default)", name); continue; } - } else if (ModelUtils.isArraySchema(schema)) { // check to see if it's an "array" model - if (!ModelUtils.isGenerateAliasAsModel(schema) && (schema.getProperties() == null || schema.getProperties().isEmpty())) { + } else if (modelUtils.isArraySchema(schema)) { // check to see if it's an "array" model + if (!modelUtils.isGenerateAliasAsModel(schema) && (schema.getProperties() == null || schema.getProperties().isEmpty())) { // schema without property, i.e. alias to array LOGGER.info("Model {} not generated since it's an alias to array (without property) and `generateAliasAsModel` is set to false (default)", name); continue; @@ -868,7 +875,7 @@ public class DefaultGenerator implements Generator { List files = new ArrayList<>(); // models - List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); + List filteredSchemas = modelUtils.getSchemasUsedOnlyInFormParam(); List allModels = new ArrayList<>(); generateModels(files, allModels, filteredSchemas); // apis 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 30ac18c43e3..f69502c9358 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 @@ -39,6 +39,7 @@ import java.util.stream.Collectors; public class InlineModelResolver { private OpenAPI openapi; + private ModelUtils modelUtils; private Map addedModels = new HashMap(); private Map generatedSignature = new HashMap(); @@ -56,6 +57,7 @@ public class InlineModelResolver { void flatten(OpenAPI openapi) { this.openapi = openapi; + this.modelUtils = new ModelUtils(openapi); if (openapi.getComponents() == null) { openapi.setComponents(new Components()); @@ -116,7 +118,7 @@ public class InlineModelResolver { return; } - Schema model = ModelUtils.getSchemaFromRequestBody(requestBody); + Schema model = modelUtils.getSchemaFromRequestBody(requestBody); if (model instanceof ObjectSchema) { Schema obj = (Schema) model; if (obj.getType() == null || "object".equals(obj.getType())) { @@ -266,11 +268,11 @@ public class InlineModelResolver { for (String key : responses.keySet()) { ApiResponse response = responses.get(key); - if (ModelUtils.getSchemaFromResponse(response) == null) { + if (modelUtils.getSchemaFromResponse(response) == null) { continue; } - Schema property = ModelUtils.getSchemaFromResponse(response); + Schema property = modelUtils.getSchemaFromResponse(response); if (property instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) property; if (op.getProperties() != null && op.getProperties().size() > 0) { @@ -318,7 +320,7 @@ public class InlineModelResolver { } } else if (property instanceof MapSchema) { MapSchema mp = (MapSchema) property; - Schema innerProperty = ModelUtils.getAdditionalProperties(openAPI, mp); + Schema innerProperty = modelUtils.getAdditionalProperties(mp); if (innerProperty instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) innerProperty; if (op.getProperties() != null && op.getProperties().size() > 0) { @@ -428,7 +430,7 @@ public class InlineModelResolver { List modelNames = new ArrayList(models.keySet()); for (String modelName : modelNames) { Schema model = models.get(modelName); - if (ModelUtils.isComposedSchema(model)) { + if (modelUtils.isComposedSchema(model)) { ComposedSchema m = (ComposedSchema) model; // inline child schemas flattenComposedChildren(openAPI, modelName + "_allOf", m.getAllOf()); @@ -439,7 +441,7 @@ public class InlineModelResolver { Map properties = m.getProperties(); flattenProperties(openAPI, properties, modelName); fixStringModel(m); - } else if (ModelUtils.isArraySchema(model)) { + } else if (modelUtils.isArraySchema(model)) { ArraySchema m = (ArraySchema) model; Schema inner = m.getItems(); if (inner instanceof ObjectSchema) { @@ -602,8 +604,8 @@ public class InlineModelResolver { } } } - if (ModelUtils.isMapSchema(property)) { - Schema inner = ModelUtils.getAdditionalProperties(openAPI, property); + if (modelUtils.isMapSchema(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/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index cf0de7a7388..0e18ff6509e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -264,7 +264,7 @@ public class CodegenConfigurator { public CodegenConfigurator setGenerateAliasAsModel(boolean generateAliasAsModel) { workflowSettingsBuilder.withGenerateAliasAsModel(generateAliasAsModel); - ModelUtils.setGenerateAliasAsModel(generateAliasAsModel); + GlobalSettings.setProperty("generateAliasAsModelKey", String.valueOf(generateAliasAsModel)); return this; } @@ -508,9 +508,6 @@ public class CodegenConfigurator { GlobalSettings.setProperty(entry.getKey(), entry.getValue()); } - // if caller resets GlobalSettings, we'll need to reset generateAliasAsModel. As noted in this method, this should be moved. - ModelUtils.setGenerateAliasAsModel(workflowSettings.isGenerateAliasAsModel()); - // TODO: Support custom spec loader implementations (https://github.com/OpenAPITools/openapi-generator/issues/844) final List authorizationValues = AuthParser.parse(this.auth); ParseOptions options = new ParseOptions(); @@ -523,13 +520,18 @@ public class CodegenConfigurator { // TODO: The line below could be removed when at least one of the issue below has been resolved. // https://github.com/swagger-api/swagger-parser/issues/1369 // https://github.com/swagger-api/swagger-parser/pull/1374 - //ModelUtils.getOpenApiVersion(specification, inputSpec, authorizationValues); + //modelUtils.getOpenApiVersion(specification, inputSpec, authorizationValues); + + ModelUtils modelUtils = new ModelUtils(specification); + + // if caller resets GlobalSettings, we'll need to reset generateAliasAsModel. As noted in this method, this should be moved. + modelUtils.setGenerateAliasAsModel(workflowSettings.isGenerateAliasAsModel()); // NOTE: We will only expose errors+warnings if there are already errors in the spec. if (validationMessages.size() > 0) { Set warnings = new HashSet<>(); if (specification != null) { - List unusedModels = ModelUtils.getUnusedSchemas(specification); + List unusedModels = modelUtils.getUnusedSchemas(); if (unusedModels != null) { unusedModels.forEach(name -> warnings.add("Unused model: " + name)); } 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 6a6a807c6f2..1740869b303 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 @@ -17,6 +17,7 @@ package org.openapitools.codegen.examples; +import com.sun.org.apache.xpath.internal.operations.Mod; import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.ArraySchema; @@ -46,11 +47,13 @@ public class ExampleGenerator { protected Map examples; private OpenAPI openAPI; + private ModelUtils modelUtils; private Random random; public ExampleGenerator(Map examples, OpenAPI openAPI) { this.examples = examples; this.openAPI = openAPI; + this.modelUtils = new ModelUtils(openAPI); // use a fixed seed to make the "random" numbers reproducible. this.random = new Random("ExampleGenerator".hashCode()); } @@ -69,7 +72,7 @@ public class ExampleGenerator { } private List> generateFromResponseSchema(Schema responseSchema, Set producesInfo) { - if (responseSchema.getExample() == null && StringUtils.isEmpty(responseSchema.get$ref()) && !ModelUtils.isArraySchema(responseSchema)) { + if (responseSchema.getExample() == null && StringUtils.isEmpty(responseSchema.get$ref()) && !modelUtils.isArraySchema(responseSchema)) { // no example provided return null; } @@ -78,14 +81,14 @@ public class ExampleGenerator { return generate(responseSchema.getExample(), new ArrayList<>(producesInfo)); } - if (ModelUtils.isArraySchema(responseSchema)) { // array of schema + if (modelUtils.isArraySchema(responseSchema)) { // array of schema ArraySchema as = (ArraySchema) responseSchema; if (as.getItems() != null && StringUtils.isEmpty(as.getItems().get$ref())) { // arary of primtive types return generate((Map) responseSchema.getExample(), new ArrayList(producesInfo), as.getItems()); } else if (as.getItems() != null && !StringUtils.isEmpty(as.getItems().get$ref())) { // array of model return generate((Map) responseSchema.getExample(), - new ArrayList(producesInfo), ModelUtils.getSimpleRef(as.getItems().get$ref())); + new ArrayList(producesInfo), modelUtils.getSimpleRef(as.getItems().get$ref())); } else { // TODO log warning message as such case is not handled at the moment return null; @@ -95,7 +98,7 @@ public class ExampleGenerator { new ArrayList(producesInfo), responseSchema); } else { // model return generate((Map) responseSchema.getExample(), - new ArrayList(producesInfo), ModelUtils.getSimpleRef(responseSchema.get$ref())); + new ArrayList(producesInfo), modelUtils.getSimpleRef(responseSchema.get$ref())); } } @@ -118,7 +121,7 @@ public class ExampleGenerator { output.add(kv); } } else if (property != null && mediaType.startsWith(MIME_TYPE_XML)) { - String example = new XmlExampleGenerator(this.examples).toXml(property); + String example = new XmlExampleGenerator(this.examples, openAPI).toXml(property); if (example != null) { kv.put(EXAMPLE, example); output.add(kv); @@ -165,7 +168,7 @@ public class ExampleGenerator { } } else if (modelName != null && mediaType.startsWith(MIME_TYPE_XML)) { final Schema schema = this.examples.get(modelName); - String example = new XmlExampleGenerator(this.examples).toXml(schema, 0, Collections.emptySet()); + String example = new XmlExampleGenerator(this.examples, openAPI).toXml(schema, 0, Collections.emptySet()); if (example != null) { kv.put(EXAMPLE, example); output.add(kv); @@ -222,13 +225,13 @@ public class ExampleGenerator { if (property.getExample() != null) { LOGGER.debug("Example set in openapi spec, returning example: '{}'", property.getExample().toString()); return property.getExample(); - } else if (ModelUtils.isBooleanSchema(property)) { + } else if (modelUtils.isBooleanSchema(property)) { Object defaultValue = property.getDefault(); if (defaultValue != null) { return defaultValue; } return Boolean.TRUE; - } else if (ModelUtils.isArraySchema(property)) { + } else if (modelUtils.isArraySchema(property)) { Schema innerType = ((ArraySchema) property).getItems(); if (innerType != null) { int arrayLength = null == ((ArraySchema) property).getMaxItems() ? 2 : ((ArraySchema) property).getMaxItems(); @@ -241,45 +244,45 @@ public class ExampleGenerator { } return objectProperties; } - } else if (ModelUtils.isDateSchema(property)) { + } else if (modelUtils.isDateSchema(property)) { return "2000-01-23"; - } else if (ModelUtils.isDateTimeSchema(property)) { + } else if (modelUtils.isDateTimeSchema(property)) { return "2000-01-23T04:56:07.000+00:00"; - } else if (ModelUtils.isNumberSchema(property)) { + } else if (modelUtils.isNumberSchema(property)) { Double min = getPropertyValue(property.getMinimum()); Double max = getPropertyValue(property.getMaximum()); - if (ModelUtils.isFloatSchema(property)) { // float + if (modelUtils.isFloatSchema(property)) { // float return (float) randomNumber(min, max); - } else if (ModelUtils.isDoubleSchema(property)) { // decimal/double + } else if (modelUtils.isDoubleSchema(property)) { // decimal/double return BigDecimal.valueOf(randomNumber(min, max)); } else { // no format defined return randomNumber(min, max); } - } else if (ModelUtils.isFileSchema(property)) { + } else if (modelUtils.isFileSchema(property)) { return ""; // TODO - } else if (ModelUtils.isIntegerSchema(property)) { + } else if (modelUtils.isIntegerSchema(property)) { Double min = getPropertyValue(property.getMinimum()); Double max = getPropertyValue(property.getMaximum()); - if (ModelUtils.isLongSchema(property)) { + if (modelUtils.isLongSchema(property)) { return (long) randomNumber(min, max); } return (int) randomNumber(min, max); - } else if (ModelUtils.isMapSchema(property)) { + } else if (modelUtils.isMapSchema(property)) { 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)) { + } else if (modelUtils.isUUIDSchema(property)) { return "046b6c7f-0b8a-43b9-b35d-6489e6daee91"; - } else if (ModelUtils.isURISchema(property)) { + } else if (modelUtils.isURISchema(property)) { return "https://openapi-generator.tech"; - } else if (ModelUtils.isStringSchema(property)) { + } else if (modelUtils.isStringSchema(property)) { LOGGER.debug("String property"); String defaultValue = (String) property.getDefault(); if (defaultValue != null && !defaultValue.isEmpty()) { @@ -299,14 +302,14 @@ public class ExampleGenerator { LOGGER.debug("No values found, using property name " + propertyName + " as example"); return propertyName; } else if (!StringUtils.isEmpty(property.get$ref())) { // model - String simpleName = ModelUtils.getSimpleRef(property.get$ref()); - Schema schema = ModelUtils.getSchema(openAPI, simpleName); + String simpleName = modelUtils.getSimpleRef(property.get$ref()); + Schema schema = modelUtils.getSchema(simpleName); if (schema == null) { // couldn't find the model/schema return "{}"; } return resolveModelToExample(simpleName, mediaType, schema, processedModels); - } else if (ModelUtils.isObjectSchema(property)) { + } else if (modelUtils.isObjectSchema(property)) { return "{}"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java index 562fbe00469..e9e83c4e966 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/examples/XmlExampleGenerator.java @@ -17,6 +17,7 @@ package org.openapitools.codegen.examples; +import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.XML; @@ -35,8 +36,12 @@ public class XmlExampleGenerator { public static String TAG_END = " examples; + protected OpenAPI openAPI; + protected ModelUtils modelUtils; - public XmlExampleGenerator(Map examples) { + public XmlExampleGenerator(Map examples, OpenAPI openAPI) { + this.openAPI = openAPI; + this.modelUtils = new ModelUtils(openAPI); this.examples = examples; if (examples == null) { this.examples = new HashMap(); @@ -124,7 +129,7 @@ public class XmlExampleGenerator { } StringBuilder sb = new StringBuilder(); - if (ModelUtils.isArraySchema(schema)) { + if (modelUtils.isArraySchema(schema)) { ArraySchema as = (ArraySchema) schema; Schema inner = as.getItems(); boolean wrapped = false; @@ -177,29 +182,29 @@ public class XmlExampleGenerator { protected String getExample(Schema schema) { if (schema.getExample() != null) { return schema.getExample().toString(); - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { return "2000-01-23T04:56:07.000Z"; - } else if (ModelUtils.isDateSchema(schema)) { + } else if (modelUtils.isDateSchema(schema)) { return "2000-01-23"; - } else if (ModelUtils.isBooleanSchema(schema)) { + } else if (modelUtils.isBooleanSchema(schema)) { return "true"; - } else if (ModelUtils.isNumberSchema(schema)) { - if (ModelUtils.isFloatSchema(schema)) { // float + } else if (modelUtils.isNumberSchema(schema)) { + if (modelUtils.isFloatSchema(schema)) { // float return "1.3579"; } else { // double return "3.149"; } - } else if (ModelUtils.isPasswordSchema(schema)) { + } else if (modelUtils.isPasswordSchema(schema)) { return "********"; - } else if (ModelUtils.isUUIDSchema(schema)) { + } else if (modelUtils.isUUIDSchema(schema)) { return "046b6c7f-0b8a-43b9-b35d-6489e6daee91"; - } else if (ModelUtils.isURISchema(schema)) { + } else if (modelUtils.isURISchema(schema)) { return "https://openapi-generator.tech"; // do these last in case the specific types above are derived from these classes - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { return "aeiou"; - } else if (ModelUtils.isIntegerSchema(schema)) { - if (ModelUtils.isLongSchema(schema)) { // long + } else if (modelUtils.isIntegerSchema(schema)) { + if (modelUtils.isLongSchema(schema)) { // long return "123456789"; } else { //integer return "123"; 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 0479852e2de..89c4970309d 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 @@ -410,12 +410,12 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg schemaType = schemaType.replace("-", "_"); } - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getTypeDeclaration(inner) + "_Vectors.Vector"; } - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); String name = getTypeDeclaration(inner) + "_Map"; if (name.startsWith("Swagger.")) { @@ -432,7 +432,7 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg return schemaType; } String modelType = toModelName(schemaType).replace("-", "_"); - if (ModelUtils.isStringSchema(p) || ModelUtils.isFileSchema(p) + if (modelUtils.isStringSchema(p) || modelUtils.isFileSchema(p) || languageSpecificPrimitives.contains(modelType)) { return modelType; } @@ -526,8 +526,8 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg if (operation.getResponses() != null && !operation.getResponses().isEmpty()) { ApiResponse methodResponse = findMethodResponse(operation.getResponses()); - if (methodResponse != null && ModelUtils.getSchemaFromResponse(methodResponse) != null) { - CodegenProperty cm = fromProperty("response", ModelUtils.getSchemaFromResponse(methodResponse)); + if (methodResponse != null && modelUtils.getSchemaFromResponse(methodResponse) != null) { + CodegenProperty cm = fromProperty("response", modelUtils.getSchemaFromResponse(methodResponse)); op.vendorExtensions.put("x-codegen-response", cm); op.vendorExtensions.put("x-is-model-type", isModelType(cm)); op.vendorExtensions.put("x-is-stream-type", isStreamType(cm)); 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 6b0068ddb13..e6331ad6362 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 @@ -185,7 +185,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); if (inner == null) { @@ -194,7 +194,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code return null; } return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); if (inner == null) { @@ -217,7 +217,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { final ArraySchema ap = (ArraySchema) p; final String pattern = "new ArrayList<%s>()"; if (ap.getItems() == null) { @@ -225,7 +225,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code } return String.format(Locale.ROOT, pattern, getTypeDeclaration(ap.getItems())); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { final MapSchema ap = (MapSchema) p; final String pattern = "new HashMap<%s>()"; if (getAdditionalProperties(ap) == null) { @@ -233,32 +233,32 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code } return String.format(Locale.ROOT, pattern, String.format(Locale.ROOT, "String, %s", getTypeDeclaration(getAdditionalProperties(ap)))); - } else if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isLongSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString() + "l"; } return "null"; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return "null"; - } else if (ModelUtils.isFloatSchema(p)) { + } else if (modelUtils.isFloatSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString() + "f"; } return "null"; - } else if (ModelUtils.isDoubleSchema(p)) { + } else if (modelUtils.isDoubleSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString() + "d"; } return "null"; - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return "null"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String _default = (String) p.getDefault(); if (p.getEnum() == null) { @@ -314,18 +314,18 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code Object obj = p.getExample(); String example = obj == null ? "" : obj.toString(); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { example = "new " + getTypeDeclaration(p) + "{" + toExampleValue( ((ArraySchema) p).getItems()) + "}"; - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { example = String.valueOf(!"false".equals(example)); - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { if (example.isEmpty()) { example = "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu"; } p.setExample(example); example = "EncodingUtil.base64Decode('" + example + "')"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { if (example.matches("^\\d{4}(-\\d{2}){2}")) { example = example.substring(0, 10).replaceAll("-0?", ", "); } else if (example.isEmpty()) { @@ -336,7 +336,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code example = "2000, 1, 23"; } example = "Date.newInstance(" + example + ")"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { if (example.matches("^\\d{4}([-T:]\\d{2}){5}.+")) { example = example.substring(0, 19).replaceAll("[-T:]0?", ", "); } else if (example.isEmpty()) { @@ -347,31 +347,31 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code example = "2000, 1, 23, 4, 56, 7"; } example = "Datetime.newInstanceGmt(" + example + ")"; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { example = example.replaceAll("[^-0-9.]", ""); example = example.isEmpty() ? "1.3579" : example; - } else if (ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isFileSchema(p)) { if (example.isEmpty()) { example = "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu"; p.setExample(example); } example = "EncodingUtil.base64Decode(" + example + ")"; - } else if (ModelUtils.isEmailSchema(p)) { + } else if (modelUtils.isEmailSchema(p)) { if (example.isEmpty()) { example = "example@example.com"; p.setExample(example); } example = "'" + example + "'"; - } else if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isLongSchema(p)) { example = example.isEmpty() ? "123456789L" : example + "L"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { example = "new " + getTypeDeclaration(p) + "{'key'=>" + toExampleValue(getAdditionalProperties(p)) + "}"; - } else if (ModelUtils.isPasswordSchema(p)) { + } else if (modelUtils.isPasswordSchema(p)) { example = example.isEmpty() ? "password123" : escapeText(example); p.setExample(example); example = "'" + example + "'"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { List enums = p.getEnum(); if (enums != null && example.isEmpty()) { example = enums.get(0); @@ -383,13 +383,13 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code p.setExample(example); } example = "'" + example + "'"; - } else if (ModelUtils.isUUIDSchema(p)) { + } else if (modelUtils.isUUIDSchema(p)) { example = example.isEmpty() ? "'046b6c7f-0b8a-43b9-b35d-6489e6daee91'" : "'" + escapeText(example) + "'"; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { example = example.matches("^-?\\d+$") ? example : "0"; - } else if (ModelUtils.isObjectSchema(p)) { + } else if (modelUtils.isObjectSchema(p)) { example = example.isEmpty() ? "null" : example; } else { example = getTypeDeclaration(p) + ".getExample()"; @@ -571,7 +571,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code if (op.getHasExamples()) { // prepare examples for Apex test classes ApiResponse apiResponse = findMethodResponse(operation.getResponses()); - final Schema responseSchema = ModelUtils.getSchemaFromResponse(apiResponse); + final Schema responseSchema = modelUtils.getSchemaFromResponse(apiResponse); String deserializedExample = toExampleValue(responseSchema); for (Map example : op.examples) { example.put("example", escapeText(example.get("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 7f164bc961a..eb3b112ad75 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 @@ -437,7 +437,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co private void postProcessEnumRefs(final Map models) { Map enumRefs = new HashMap(); for (Map.Entry entry : models.entrySet()) { - CodegenModel model = ModelUtils.getModelByName(entry.getKey(), models); + CodegenModel model = modelUtils.getModelByName(entry.getKey(), models); if (model.isEnum) { enumRefs.put(entry.getKey(), model); } @@ -445,7 +445,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co for (Map.Entry entry : models.entrySet()) { String openAPIName = entry.getKey(); - CodegenModel model = ModelUtils.getModelByName(openAPIName, models); + CodegenModel model = modelUtils.getModelByName(openAPIName, models); if (model != null) { for (CodegenProperty var : model.allVars) { if (enumRefs.containsKey(var.dataType)) { @@ -594,7 +594,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co protected void updateValueTypeProperty(Map models) { for (Map.Entry entry : models.entrySet()) { String openAPIName = entry.getKey(); - CodegenModel model = ModelUtils.getModelByName(openAPIName, models); + CodegenModel model = modelUtils.getModelByName(openAPIName, models); if (model != null) { for (CodegenProperty var : model.vars) { var.vendorExtensions.put("x-is-value-type", isValueType(var)); @@ -611,7 +611,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co protected void updateNullableTypeProperty(Map models) { for (Map.Entry entry : models.entrySet()) { String openAPIName = entry.getKey(); - CodegenModel model = ModelUtils.getModelByName(openAPIName, models); + CodegenModel model = modelUtils.getModelByName(openAPIName, models); if (model != null) { for (CodegenProperty var : model.vars) { if (!var.isContainer && (nullableType.contains(var.dataType) || var.isEnum)) { @@ -859,23 +859,23 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co */ @Override public String toExampleValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getExample() != null) { return "\"" + p.getExample().toString() + "\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } @@ -891,33 +891,33 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { - if (ModelUtils.isFloatSchema(p)) { // float + if (modelUtils.isFloatSchema(p)) { // float return p.getDefault().toString() + "F"; - } else if (ModelUtils.isDoubleSchema(p)) { // double + } else if (modelUtils.isDoubleSchema(p)) { // double return p.getDefault().toString() + "D"; } else { // decimal return p.getDefault().toString() + "M"; } } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String _default = (String) p.getDefault(); if (p.getEnum() == null) { @@ -989,7 +989,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { return getArrayTypeDeclaration((ArraySchema) p); } return super.toInstantiationType(p); @@ -997,9 +997,9 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { return getArrayTypeDeclaration((ArraySchema) p); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { // Should we also support maps of maps? Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java index f03ac52aece..82b52e72d64 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCppCodegen.java @@ -362,7 +362,7 @@ abstract public class AbstractCppCodegen extends DefaultCodegen implements Codeg public Map postProcessAllModels(Map objs){ Map models = super.postProcessAllModels(objs); for (final Entry model : models.entrySet()) { - CodegenModel mo = ModelUtils.getModelByName(model.getKey(), models); + CodegenModel mo = modelUtils.getModelByName(model.getKey(), models); addForwardDeclarations(mo, models); } return models; @@ -379,7 +379,7 @@ abstract public class AbstractCppCodegen extends DefaultCodegen implements Codeg } String childPropertyType = property.isContainer? property.mostInnerItems.baseType : property.baseType; for(final Entry mo : objs.entrySet()) { - CodegenModel childModel = ModelUtils.getModelByName(mo.getKey(), objs); + CodegenModel childModel = modelUtils.getModelByName(mo.getKey(), objs); if( !childPropertyType.equals(childModel.classname) || childPropertyType.equals(parentModel.classname) || !childModel.hasVars ){ continue; } 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 f80183a7efb..ca1275a8dab 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 @@ -292,11 +292,11 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "LIST [" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + " [" + getTypeDeclaration(inner) + "]"; @@ -463,7 +463,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co private void postProcessParentModels(final Map models) { for (final String parent : parentModels) { - final CodegenModel parentModel = ModelUtils.getModelByName(parent, models); + final CodegenModel parentModel = modelUtils.getModelByName(parent, models); final Collection childrenModels = childrenByParent.get(parent); for (final CodegenModel child : childrenModels) { processParentPropertiesInChildModel(parentModel, child); @@ -492,7 +492,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (allDefinitions != null && codegenModel.parentSchema != null && codegenModel.hasEnums) { final Schema parentModel = allDefinitions.get(codegenModel.parentSchema); @@ -571,7 +571,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co @Override public String toInstantiationType(Schema p) { return getTypeDeclaration(p); -// if (ModelUtils.isMapSchema(p)) { +// if (modelUtils.isMapSchema(p)) { // Schema additionalProperties2 = getAdditionalProperties(p); // String type = additionalProperties2.getType(); // if (null == type) { @@ -580,7 +580,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co // } // String inner = toModelName(getSchemaType(additionalProperties2)); // return instantiationTypes.get("map") + " [" + inner + "]"; -// } else if (ModelUtils.isArraySchema(p)) { +// } else if (modelUtils.isArraySchema(p)) { // ArraySchema ap = (ArraySchema) p; // String inner = toModelName(getSchemaType(ap.getItems())); // return instantiationTypes.get("array") + " [" + inner + "]"; 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 c2e3fee78da..0732ad5fc81 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 @@ -358,7 +358,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co List classNames = new ArrayList(); for (String k : objs.keySet()) { - CodegenModel model = ModelUtils.getModelByName(k, objs); + CodegenModel model = modelUtils.getModelByName(k, objs); if (model == null || model.classname == null) { throw new RuntimeException("Null model encountered"); } @@ -405,7 +405,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co private void postProcessEnumRefs(final Map models) { Map enumRefs = new HashMap(); for (Map.Entry entry : models.entrySet()) { - CodegenModel model = ModelUtils.getModelByName(entry.getKey(), models); + CodegenModel model = modelUtils.getModelByName(entry.getKey(), models); if (model.isEnum) { enumRefs.put(entry.getKey(), model); } @@ -413,7 +413,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co for (Map.Entry entry : models.entrySet()) { String openAPIName = entry.getKey(); - CodegenModel model = ModelUtils.getModelByName(openAPIName, models); + CodegenModel model = modelUtils.getModelByName(openAPIName, models); if (model != null) { for (CodegenProperty var : model.allVars) { if (enumRefs.containsKey(var.dataType)) { @@ -735,23 +735,23 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co */ @Override public String toExampleValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getExample() != null) { return "\"" + p.getExample().toString() + "\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getExample() != null) { return p.getExample().toString(); } @@ -768,33 +768,33 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { - if (ModelUtils.isFloatSchema(p)) { // float + if (modelUtils.isFloatSchema(p)) { // float return p.getDefault().toString() + "F"; - } else if (ModelUtils.isDoubleSchema(p)) { // double + } else if (modelUtils.isDoubleSchema(p)) { // double return p.getDefault().toString() + "D"; } else { // decimal return p.getDefault().toString() + "M"; } } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String _default = (String) p.getDefault(); if (p.getEnum() == null) { @@ -817,7 +817,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co public String getNullableType(Schema p, String type) { if (languageSpecificPrimitives.contains(type)) { - if (isSupportNullable() && ModelUtils.isNullable(p) && nullableType.contains(type)) { + if (isSupportNullable() && modelUtils.isNullable(p) && nullableType.contains(type)) { return type + " option"; } else { return type; @@ -869,7 +869,7 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { return getArrayTypeDeclaration((ArraySchema) p); } return super.toInstantiationType(p); @@ -877,9 +877,9 @@ public abstract class AbstractFSharpCodegen extends DefaultCodegen implements Co @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { return getArrayTypeDeclaration((ArraySchema) p); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { // Should we also support maps of maps? Schema inner = getAdditionalProperties(p); return getSchemaType(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 d9eff4ad3be..665a119d931 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 @@ -331,7 +331,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); // In OAS 3.0.x, the array "items" attribute is required. @@ -339,7 +339,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege // specification is aligned with the JSON schema specification. // When "items" is not specified, the elements of the array may be anything at all. if (inner != null) { - inner = ModelUtils.unaliasSchema(this.openAPI, inner); + inner = modelUtils.unaliasSchema(inner); } String typDecl; if (inner != null) { @@ -348,9 +348,9 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege typDecl = "interface{}"; } return "[]" + typDecl; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); - return getSchemaType(p) + "[string]" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)); + return getSchemaType(p) + "[string]" + getTypeDeclaration(modelUtils.unaliasSchema(inner)); } //return super.getTypeDeclaration(p); @@ -395,7 +395,7 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege if (ref != null && !ref.isEmpty()) { type = openAPIType; - } else if ("object".equals(openAPIType) && ModelUtils.isAnyTypeSchema(openAPI, p)) { + } else if ("object".equals(openAPIType) && modelUtils.isAnyTypeSchema(p)) { // Arbitrary type. Note this is not the same thing as free-form object. type = "interface{}"; } else if (typeMapping.containsKey(openAPIType)) { @@ -426,9 +426,9 @@ public abstract class AbstractGoCodegen extends DefaultCodegen implements Codege */ @Override public String toInstantiationType(Schema property) { - if (ModelUtils.isMapSchema(property)) { + if (modelUtils.isMapSchema(property)) { return getTypeDeclaration(property); - } else if (ModelUtils.isArraySchema(property)) { + } else if (modelUtils.isArraySchema(property)) { return getTypeDeclaration(property); } return super.toInstantiationType(property); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java index ddfaa16c86a..664b53351ed 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGraphQLCodegen.java @@ -266,11 +266,11 @@ public abstract class AbstractGraphQLCodegen extends DefaultCodegen implements C @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = (Schema) p.getAdditionalProperties(); return getTypeDeclaration(inner); } @@ -278,7 +278,7 @@ public abstract class AbstractGraphQLCodegen extends DefaultCodegen implements C // Not using the supertype invocation, because we want to UpperCamelize // the type. String schemaType = getSchemaType(p); - String nullable = ModelUtils.isNullable(p) ? "" : "!"; + String nullable = modelUtils.isNullable(p) ? "" : "!"; /* if (p != null && Boolean.TRUE.equals(p.getNullable())) { nullable = ""; 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 8bddc1feaf5..1b989264a6f 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 @@ -794,13 +794,13 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); - Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; - if (ModelUtils.isArraySchema(target)) { + Schema schema = modelUtils.unaliasSchema(p, importMapping); + Schema target = modelUtils.isGenerateAliasAsModel() ? p : schema; + if (modelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); return getSchemaType(target) + "<" + getTypeDeclaration(items) + ">"; - } else if (ModelUtils.isMapSchema(target)) { - // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines + } 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); if (inner == null) { @@ -823,10 +823,10 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public String toDefaultValue(Schema schema) { - schema = ModelUtils.getReferencedSchema(this.openAPI, schema); - if (ModelUtils.isArraySchema(schema)) { + schema = modelUtils.getReferencedSchema(schema); + if (modelUtils.isArraySchema(schema)) { final String pattern; - if (ModelUtils.isSet(schema)) { + if (modelUtils.isSet(schema)) { String mapInstantiationType = instantiationTypes().getOrDefault("set", "LinkedHashSet"); pattern = "new " + mapInstantiationType + "<%s>()"; } else { @@ -836,7 +836,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code Schema items = getSchemaItems((ArraySchema) schema); - String typeDeclaration = getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, items)); + String typeDeclaration = getTypeDeclaration(modelUtils.unaliasSchema(items)); Object java8obj = additionalProperties.get("java8"); if (java8obj != null) { Boolean java8 = Boolean.valueOf(java8obj.toString()); @@ -846,7 +846,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } return String.format(Locale.ROOT, pattern, typeDeclaration); - } else if (ModelUtils.isMapSchema(schema) && !(schema instanceof ComposedSchema)) { + } else if (modelUtils.isMapSchema(schema) && !(schema instanceof ComposedSchema)) { if (schema.getProperties() != null && schema.getProperties().size() > 0) { // object is complex object with free-form additional properties if (schema.getDefault() != null) { @@ -872,7 +872,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } return String.format(Locale.ROOT, pattern, typeDeclaration); - } else if (ModelUtils.isIntegerSchema(schema)) { + } else if (modelUtils.isIntegerSchema(schema)) { if (schema.getDefault() != null) { if (SchemaTypeUtil.INTEGER64_FORMAT.equals(schema.getFormat())) { return schema.getDefault().toString() + "l"; @@ -881,7 +881,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } } return null; - } else if (ModelUtils.isNumberSchema(schema)) { + } else if (modelUtils.isNumberSchema(schema)) { if (schema.getDefault() != null) { if (SchemaTypeUtil.FLOAT_FORMAT.equals(schema.getFormat())) { return schema.getDefault().toString() + "f"; @@ -892,17 +892,17 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } } return null; - } else if (ModelUtils.isBooleanSchema(schema)) { + } else if (modelUtils.isBooleanSchema(schema)) { if (schema.getDefault() != null) { return schema.getDefault().toString(); } return null; - } else if (ModelUtils.isURISchema(schema)) { + } else if (modelUtils.isURISchema(schema)) { if (schema.getDefault() != null) { return "URI.create(\"" + escapeText((String) schema.getDefault()) + "\")"; } return null; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { if (schema.getDefault() != null) { String _default; if (schema.getDefault() instanceof Date) { @@ -923,7 +923,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } } return null; - } else if (ModelUtils.isObjectSchema(schema)) { + } else if (modelUtils.isObjectSchema(schema)) { if (schema.getDefault() != null) { return super.toDefaultValue(schema); } @@ -1100,7 +1100,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (codegenModel.description != null) { codegenModel.imports.add("ApiModel"); @@ -1213,13 +1213,13 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } for (Operation operation : path.readOperations()) { LOGGER.info("Processing operation " + operation.getOperationId()); - if (hasBodyParameter(openAPI, operation) || hasFormParameter(openAPI, operation)) { - String defaultContentType = hasFormParameter(openAPI, operation) ? "application/x-www-form-urlencoded" : "application/json"; - List consumes = new ArrayList<>(getConsumesInfo(openAPI, operation)); + if (hasBodyParameter(operation) || hasFormParameter(operation)) { + String defaultContentType = hasFormParameter(operation) ? "application/x-www-form-urlencoded" : "application/json"; + List consumes = new ArrayList<>(getConsumesInfo(operation)); String contentType = consumes == null || consumes.isEmpty() ? defaultContentType : consumes.get(0); operation.addExtension("x-contentType", contentType); } - String accepts = getAccept(openAPI, operation); + String accepts = getAccept(operation); operation.addExtension("x-accepts", accepts); } @@ -1271,10 +1271,10 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code } } - private static String getAccept(OpenAPI openAPI, Operation operation) { + private String getAccept(Operation operation) { String accepts = null; String defaultContentType = "application/json"; - Set producesInfo = getProducesInfo(openAPI, operation); + Set producesInfo = getProducesInfo(operation); if (producesInfo != null && !producesInfo.isEmpty()) { ArrayList produces = new ArrayList<>(producesInfo); StringBuilder sb = new StringBuilder(); 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 33ac8a95bb1..a9bf1278ebe 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 @@ -310,13 +310,13 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co */ @Override public String getTypeDeclaration(Schema p) { - Schema schema = ModelUtils.unaliasSchema(this.openAPI, p, importMapping); - Schema target = ModelUtils.isGenerateAliasAsModel() ? p : schema; - if (ModelUtils.isArraySchema(target)) { + Schema schema = modelUtils.unaliasSchema(p, importMapping); + Schema target = modelUtils.isGenerateAliasAsModel() ? p : schema; + if (modelUtils.isArraySchema(target)) { Schema items = getSchemaItems((ArraySchema) schema); return getSchemaType(target) + "<" + getTypeDeclaration(items) + ">"; - } else if (ModelUtils.isMapSchema(target)) { - // Note: ModelUtils.isMapSchema(p) returns true when p is a composed schema that also defines + } 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); if (inner == null) { @@ -899,27 +899,27 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isURISchema(p)) { + } else if (modelUtils.isURISchema(p)) { if (p.getDefault() != null) { return "URI.create('" + p.getDefault() + "')"; } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault() + "\""; } 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 3b0efcaa380..d928227c7e3 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 @@ -293,7 +293,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); if (inner == null) { @@ -301,7 +301,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg inner = new StringSchema().description("TODO default missing array inner type to string"); } return getTypeDeclaration(inner) + "[]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); if (inner == null) { LOGGER.warn(p.getName() + "(map property) does not have a proper inner type defined. Default to string"); @@ -514,23 +514,23 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + p.getDefault() + "'"; } 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 e1acbc1e166..baa8d935478 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 @@ -345,11 +345,11 @@ public abstract class AbstractPythonConnexionServerCodegen extends DefaultCodege @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[str, " + getTypeDeclaration(inner) + "]"; } @@ -704,26 +704,26 @@ public abstract class AbstractPythonConnexionServerCodegen extends DefaultCodege */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (p.getDefault().toString().equalsIgnoreCase("false")) return "False"; else return "True"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + (String) p.getDefault() + "'"; } 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 5143cc5e943..0a7e99c30a0 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 @@ -114,10 +114,10 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code @Override public String getTypeDeclaration(Schema schema) { - if (ModelUtils.isArraySchema(schema)) { + if (modelUtils.isArraySchema(schema)) { Schema inner = ((ArraySchema) schema).getItems(); return getSchemaType(schema) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(schema)) { + } else if (modelUtils.isMapSchema(schema)) { Schema inner = getAdditionalProperties(schema); return getSchemaType(schema) + ""; } @@ -127,11 +127,11 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code @Override public String toInstantiationType(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { return instantiationTypes.get("map"); - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { String parentType; - if (ModelUtils.isSet(schema)) { + if (modelUtils.isSet(schema)) { parentType = "set"; } else { parentType = "array"; @@ -143,12 +143,12 @@ abstract public class AbstractRubyCodegen extends DefaultCodegen implements Code @Override public String toDefaultValue(Schema p) { - p = ModelUtils.getReferencedSchema(this.openAPI, p); - if (ModelUtils.isIntegerSchema(p) || ModelUtils.isNumberSchema(p) || ModelUtils.isBooleanSchema(p)) { + p = modelUtils.getReferencedSchema(p); + if (modelUtils.isIntegerSchema(p) || modelUtils.isNumberSchema(p) || modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { if (p.getDefault() instanceof Date) { Date date = (Date) p.getDefault(); 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 6f87d96f13e..4cca652ffde 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 @@ -320,11 +320,11 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; @@ -335,7 +335,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String getSchemaType(Schema p) { String openAPIType = super.getSchemaType(p); - if (ModelUtils.isSet(p)) { + if (modelUtils.isSet(p)) { openAPIType = "set"; } @@ -353,13 +353,13 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return instantiationTypes.get("map") + "[String, " + inner + "]"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - return ( ModelUtils.isSet(ap) ? instantiationTypes.get("set") : instantiationTypes.get("array") ) + "[" + inner + "]"; + return ( modelUtils.isSet(ap) ? instantiationTypes.get("set") : instantiationTypes.get("array") ) + "[" + inner + "]"; } else { return null; } @@ -372,24 +372,24 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { } // comment out the following as the default value is no handled differently - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return null; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return null; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return null; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return null; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return null; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "new HashMap[String, " + inner + "]() "; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); String genericType; - if (ModelUtils.isSet(ap)) { + if (modelUtils.isSet(ap)) { genericType = instantiationTypes.get("set"); } else { genericType = instantiationTypes.get("array"); @@ -410,7 +410,7 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { // Assume that any other generic types can be new'd up. return "new " + genericType + "[" + inner + "]() "; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return null; } else { return null; @@ -427,9 +427,9 @@ public abstract class AbstractScalaCodegen extends DefaultCodegen { @Override public CodegenProperty fromProperty(String name, Schema p) { CodegenProperty prop = super.fromProperty(name, p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema as = (ArraySchema) p; - if (ModelUtils.isSet(as)) { + if (modelUtils.isSet(as)) { prop.containerType = "set"; } } 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 a74b43a2575..0f50c948358 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 @@ -413,16 +413,16 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { Schema items = getSchemaItems((ArraySchema) p); - return getSchemaType(p) + "<" + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, items)) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + return getSchemaType(p) + "<" + getTypeDeclaration(modelUtils.unaliasSchema(items)) + ">"; + } else if (modelUtils.isMapSchema(p)) { Schema inner = getSchemaAdditionalProperties(p); String nullSafeSuffix = getNullSafeAdditionalProps() ? " | undefined" : ""; - return "{ [key: string]: " + getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + nullSafeSuffix + "; }"; - } else if (ModelUtils.isFileSchema(p)) { + return "{ [key: string]: " + getTypeDeclaration(modelUtils.unaliasSchema(inner)) + nullSafeSuffix + "; }"; + } else if (modelUtils.isFileSchema(p)) { return "any"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "any"; } return super.getTypeDeclaration(p); @@ -432,37 +432,37 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp protected String getParameterDataType(Parameter parameter, Schema p) { // handle enums of various data types Schema inner; - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema mp1 = (ArraySchema) p; inner = mp1.getItems(); return this.getSchemaType(p) + "<" + this.getParameterDataType(parameter, inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { inner = getAdditionalProperties(p); return "{ [key: string]: " + this.getParameterDataType(parameter, inner) + "; }"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { // Handle string enums if (p.getEnum() != null) { return enumValuesToEnumTypeUnion(p.getEnum(), "string"); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { // Handle integer enums if (p.getEnum() != null) { return numericEnumValuesToEnumTypeUnion(new ArrayList(p.getEnum())); } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { // Handle double enums if (p.getEnum() != null) { return numericEnumValuesToEnumTypeUnion(new ArrayList(p.getEnum())); } } /* TODO revise the logic below - else if (ModelUtils.isDateSchema(p)) { + else if (modelUtils.isDateSchema(p)) { // Handle date enums DateSchema sp = (DateSchema) p; if (sp.getEnum() != null) { return enumValuesToEnumTypeUnion(sp.getEnum(), "string"); } - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // Handle datetime enums DateTimeSchema sp = (DateTimeSchema) p; if (sp.getEnum() != null) { @@ -510,27 +510,27 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isNumberSchema(p) || ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isNumberSchema(p) || modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + (String) p.getDefault() + "'"; } @@ -551,7 +551,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp public String getSchemaType(Schema p) { String openAPIType = super.getSchemaType(p); String type = null; - if (ModelUtils.isComposedSchema(p)) { + if (modelUtils.isComposedSchema(p)) { return openAPIType; } else if (typeMapping.containsKey(openAPIType)) { type = typeMapping.get(openAPIType); @@ -898,7 +898,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp return filteredSchemas.stream().map(schema -> { String schemaType = getSchemaType(schema); - if (ModelUtils.isArraySchema(schema)) { + if (modelUtils.isArraySchema(schema)) { ArraySchema ap = (ArraySchema) schema; Schema inner = ap.getItems(); schemaType = schemaType + "<" + getSchemaType(inner) + ">"; 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 3f87fcc77c3..3a3d0dbfbd8 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 @@ -223,11 +223,11 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = 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 fe7cdcfb59d..88b244f6f95 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 @@ -221,24 +221,24 @@ public class ApexClientCodegen extends AbstractApexCodegen { @Override public String toDefaultValue(Schema p) { String out = null; - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { Schema inner = ((ArraySchema) p).getItems(); out = String.format( Locale.ROOT, "new List<%s>()", inner == null ? "Object" : getTypeDeclaration(inner) ); - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { // true => "true", false => "false", null => "null" out = String.valueOf(p.getDefault()); - } else if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isLongSchema(p)) { Long def = (Long) p.getDefault(); out = def == null ? out : def.toString() + "L"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); String s = inner == null ? "Object" : getTypeDeclaration(inner); out = String.format(Locale.ROOT, "new Map()", s); - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String def = p.getDefault().toString(); if (def != null) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java index 6c882ca07ee..ba7009ea99f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java @@ -450,7 +450,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen { @Override public String getNullableType(Schema p, String type) { if (languageSpecificPrimitives.contains(type)) { - if (isSupportNullable() && ModelUtils.isNullable(p) && nullableType.contains(type)) { + if (isSupportNullable() && modelUtils.isNullable(p) && nullableType.contains(type)) { return type + "?"; } else { return type; 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 13c10ae2c9c..4026c75cf98 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 @@ -423,11 +423,11 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig { */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } @@ -619,7 +619,7 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List servers) { - Map definitions = ModelUtils.getSchemas(this.openAPI); + Map definitions = modelUtils.getSchemas(); CodegenOperation op = super.fromOperation(path, httpMethod, operation, servers); /** @@ -663,8 +663,8 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig { * If the operation produces Json and has nonempty example * try to reformat it. */ - if (getConsumesInfo(this.openAPI, operation) != null - && getConsumesInfo(this.openAPI, operation).contains("application/json") + if (getConsumesInfo(operation) != null + && getConsumesInfo(operation).contains("application/json") && definitions.get(p.dataType).getExample() != null) { ObjectMapper mapper = new ObjectMapper(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java index f64d2d99d3f..e84ef3e2f94 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java @@ -296,10 +296,10 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf @Override public String getTypeDeclaration(Schema schema) { /* comment out below as we'll do it in the template instead - if (ModelUtils.isArraySchema(schema)) { + if (modelUtils.isArraySchema(schema)) { Schema inner = ((ArraySchema) schema).getItems(); return getSchemaType(schema) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(schema)) { + } else if (modelUtils.isMapSchema(schema)) { Schema inner = (Schema) schema.getAdditionalProperties(); return getSchemaType(schema) + ""; } @@ -310,11 +310,11 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isIntegerSchema(p) || ModelUtils.isNumberSchema(p) || ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isIntegerSchema(p) || modelUtils.isNumberSchema(p) || modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + escapeText((String) p.getDefault()) + "'"; } @@ -327,17 +327,17 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf public String toExampleValue(Schema schema) { String example = super.toExampleValue(schema); - if (ModelUtils.isNullType(schema) && null != example) { + if (modelUtils.isNullType(schema) && null != example) { // The 'null' type is allowed in OAS 3.1 and above. It is not supported by OAS 3.0.x, // though this tooling supports it. return "NULL"; } // correct "'"s into "'"s after toString() - if (ModelUtils.isStringSchema(schema) && schema.getDefault() != null) { + if (modelUtils.isStringSchema(schema) && schema.getDefault() != null) { example = (String) schema.getDefault(); } if (StringUtils.isNotBlank(example) && !"null".equals(example)) { - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { example = "\"" + example + "\""; } return example; @@ -346,7 +346,7 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf if (schema.getEnum() != null && !schema.getEnum().isEmpty()) { // Enum case: example = schema.getEnum().get(0).toString(); -/* if (ModelUtils.isStringSchema(schema)) { +/* if (modelUtils.isStringSchema(schema)) { example = "'" + escapeText(example) + "'"; }*/ if (null == example) @@ -355,8 +355,8 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf return example; } else if (null != schema.get$ref()) { // $ref case: - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); - String ref = ModelUtils.getSimpleRef(schema.get$ref()); + Map allDefinitions = modelUtils.getSchemas(); + String ref = modelUtils.getSimpleRef(schema.get$ref()); if (allDefinitions != null) { Schema refSchema = allDefinitions.get(ref); if (null == refSchema) { @@ -372,18 +372,18 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf LOGGER.warn("allDefinitions not defined in toExampleValue!\n"); } } - if (ModelUtils.isDateSchema(schema)) { + if (modelUtils.isDateSchema(schema)) { example = "\"2013-10-20\""; return example; - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { example = "\"2013-10-20T19:20:30+01:00\""; return example; - } else if (ModelUtils.isBinarySchema(schema)) { + } else if (modelUtils.isBinarySchema(schema)) { example = "instantiate_binary_t(\"blah\", 5)"; return example; - } else if (ModelUtils.isByteArraySchema(schema)) { + } else if (modelUtils.isByteArraySchema(schema)) { example = "YQ=="; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { // decimal (type: string, format: decimal) if ("number".equalsIgnoreCase(schema.getFormat())) { return "1"; @@ -398,29 +398,29 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf example = ""; for (int i = 0; i < len; i++) example += i; - } else if (ModelUtils.isIntegerSchema(schema)) { + } else if (modelUtils.isIntegerSchema(schema)) { if (schema.getMinimum() != null) example = schema.getMinimum().toString(); else example = "56"; - } else if (ModelUtils.isNumberSchema(schema)) { + } else if (modelUtils.isNumberSchema(schema)) { if (schema.getMinimum() != null) example = schema.getMinimum().toString(); else example = "1.337"; - } else if (ModelUtils.isBooleanSchema(schema)) { + } else if (modelUtils.isBooleanSchema(schema)) { example = "1"; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { example = "list_create()"; - } else if (ModelUtils.isMapSchema(schema)) { + } else if (modelUtils.isMapSchema(schema)) { example = "list_create()"; - } else if (ModelUtils.isObjectSchema(schema)) { + } else if (modelUtils.isObjectSchema(schema)) { return null; // models are managed at moustache level } else { LOGGER.warn("Type " + schema.getType() + " not handled properly in toExampleValue"); } - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { example = "\"" + escapeText(example) + "\""; } @@ -744,7 +744,7 @@ public class CLibcurlClientCodegen extends DefaultCodegen implements CodegenConf @Override public CodegenProperty fromProperty(String name, Schema p) { CodegenProperty cm = super.fromProperty(name, p); - Schema ref = ModelUtils.getReferencedSchema(openAPI, p); + Schema ref = modelUtils.getReferencedSchema(p); if (ref != null) { if (ref.getEnum() != null) { cm.isEnum = true; 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 9b8117a8fd7..4879d0bcff1 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 @@ -588,7 +588,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (allDefinitions != null && codegenModel != null && codegenModel.parent != null) { final Schema parentModel = allDefinitions.get(toModelName(codegenModel.parent)); @@ -965,14 +965,14 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { */ @Override public String toInstantiationType(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { Schema additionalProperties = getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); - if (ModelUtils.isMapSchema(additionalProperties)) { + if (modelUtils.isMapSchema(additionalProperties)) { inner = toInstantiationType(additionalProperties); } return instantiationTypes.get("map") + ""; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { ArraySchema arraySchema = (ArraySchema) schema; String inner = getSchemaType(arraySchema.getItems()); return instantiationTypes.get("array") + "<" + inner + ">"; @@ -984,7 +984,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { @Override public String getNullableType(Schema p, String type) { if (languageSpecificPrimitives.contains(type)) { - if (isSupportNullable() && ModelUtils.isNullable(p) && nullableType.contains(type)) { + if (isSupportNullable() && modelUtils.isNullable(p) && nullableType.contains(type)) { return type + "?"; } else { return type; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java index 93c2d0d2136..f862b31437e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java @@ -51,7 +51,7 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen { private static final String PACKAGE_CONTEXT = "packageContext"; private static final String ASYNC_SERVER = "asyncServer"; - private static final Map> propertyToOpenAPITypeMapping = + private final Map> propertyToOpenAPITypeMapping = createPropertyToOpenAPITypeMapping(); private String packageGuid = "{" + randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; @@ -270,7 +270,7 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen { private void postProcessParentModels(final Map models) { LOGGER.debug("Processing parents: " + parentModels); for (final String parent : parentModels) { - final CodegenModel parentModel = ModelUtils.getModelByName(parent, models); + final CodegenModel parentModel = modelUtils.getModelByName(parent, models); if (parentModel != null) { parentModel.hasChildren = true; final Collection childrenModels = childrenByParent.get(parent); @@ -397,17 +397,17 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen { return super.getSchemaType(property); } - private static Map> createPropertyToOpenAPITypeMapping() { + private Map> createPropertyToOpenAPITypeMapping() { final ImmutableMap.Builder> mapping = ImmutableMap.builder(); mapping.put("time", timeProperty()); return mapping.build(); } - private static Predicate timeProperty() { + private Predicate timeProperty() { return new Predicate() { @Override public boolean apply(Schema property) { - return ModelUtils.isStringSchema(property) && "time".equalsIgnoreCase(property.getFormat()); + return modelUtils.isStringSchema(property) && "time".equalsIgnoreCase(property.getFormat()); } }; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java index b2136e16593..c64f7105cdf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNetCoreClientCodegen.java @@ -306,7 +306,7 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen { @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (allDefinitions != null && codegenModel != null && codegenModel.parent != null) { final Schema parentModel = allDefinitions.get(toModelName(codegenModel.parent)); @@ -401,7 +401,7 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen { @Override public String getNullableType(Schema p, String type) { if (languageSpecificPrimitives.contains(type)) { - if (isSupportNullable() && ModelUtils.isNullable(p) && nullableType.contains(type)) { + if (isSupportNullable() && modelUtils.isNullable(p) && nullableType.contains(type)) { return type + "?"; } else { return type; @@ -968,14 +968,14 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen { */ @Override public String toInstantiationType(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { Schema additionalProperties = getAdditionalProperties(schema); String inner = getSchemaType(additionalProperties); - if (ModelUtils.isMapSchema(additionalProperties)) { + if (modelUtils.isMapSchema(additionalProperties)) { inner = toInstantiationType(additionalProperties); } return instantiationTypes.get("map") + ""; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { ArraySchema arraySchema = (ArraySchema) schema; String inner = getSchemaType(arraySchema.getItems()); return instantiationTypes.get("array") + "<" + inner + ">"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java index 5af22a8d3f8..990c4bae7ea 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java @@ -168,7 +168,7 @@ public class ClojureClientCodegen extends DefaultCodegen implements CodegenConfi Schema inner = ap.getItems(); return "(s/coll-of " + getTypeDeclaration(inner) + ")"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = (Schema) p.getAdditionalProperties(); return "(s/map-of string? " + getTypeDeclaration(inner) + ")"; 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 c2cadfa1702..523514df9e3 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 @@ -102,11 +102,11 @@ public class ConfluenceWikiCodegen extends DefaultCodegen implements CodegenConf @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } 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 6cd08e70a42..589e6b5c0bb 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 @@ -229,7 +229,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { ApiResponse apiResponse = findMethodResponse(operation.getResponses()); if (apiResponse != null) { - Schema response = ModelUtils.getSchemaFromResponse(apiResponse); + Schema response = modelUtils.getSchemaFromResponse(apiResponse); if (response != null) { CodegenProperty cm = fromProperty("response", response); op.vendorExtensions.put("x-codegen-response", cm); @@ -350,20 +350,20 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { public String getTypeDeclaration(Schema p) { String openAPIType = getSchemaType(p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; } - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { return "std::string"; } - if (ModelUtils.isStringSchema(p) - || ModelUtils.isDateSchema(p) - || ModelUtils.isDateTimeSchema(p) || ModelUtils.isFileSchema(p) + if (modelUtils.isStringSchema(p) + || modelUtils.isDateSchema(p) + || modelUtils.isDateTimeSchema(p) || modelUtils.isFileSchema(p) || languageSpecificPrimitives.contains(openAPIType)) { return toModelName(openAPIType); } @@ -373,34 +373,34 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "false"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "\"\""; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "\"\""; - } else if (ModelUtils.isNumberSchema(p)) { - if (ModelUtils.isFloatSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { + if (modelUtils.isFloatSchema(p)) { return "0.0f"; } return "0.0"; - } else if (ModelUtils.isIntegerSchema(p)) { - if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { + if (modelUtils.isLongSchema(p)) { return "0L"; } return "0"; - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { return "\"\""; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "std::map()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); return "std::vector<" + inner + ">()"; } else if (!StringUtils.isEmpty(p.get$ref())) { // model - return toModelName(ModelUtils.getSimpleRef(p.get$ref())) + "()"; - } else if (ModelUtils.isStringSchema(p)) { + return toModelName(modelUtils.getSimpleRef(p.get$ref())) + "()"; + } else if (modelUtils.isStringSchema(p)) { return "\"\""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java index c3227182214..15916b6942c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java @@ -181,16 +181,16 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen public String getTypeDeclaration(Schema p) { String openAPIType = getSchemaType(p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return getSchemaType(p); - } else if (ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isFileSchema(p)) { return getSchemaType(p); } if (foundationClasses.contains(openAPIType)) { @@ -205,33 +205,33 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen @Override @SuppressWarnings("rawtypes") public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "false"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "NULL"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "NULL"; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (SchemaTypeUtil.FLOAT_FORMAT.equals(p.getFormat())) { return "0.0f"; } return "0.0"; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (SchemaTypeUtil.INTEGER64_FORMAT.equals(p.getFormat())) { return "0L"; } return "0"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "QMap()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "QList<" + getTypeDeclaration(inner) + ">()"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "QString(\"\")"; } else if (!StringUtils.isEmpty(p.get$ref())) { - return toModelName(ModelUtils.getSimpleRef(p.get$ref())) + "()"; + return toModelName(modelUtils.getSimpleRef(p.get$ref())) + "()"; } return "NULL"; } 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 72605513a34..1a681538eaa 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 @@ -27,7 +27,6 @@ import io.swagger.v3.oas.models.servers.Server; import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; import org.openapitools.codegen.meta.features.*; -import org.openapitools.codegen.utils.ModelUtils; import java.util.*; @@ -271,8 +270,8 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { ApiResponse methodResponse = findMethodResponse(operation.getResponses()); if (methodResponse != null) { - Schema response = ModelUtils.getSchemaFromResponse(methodResponse); - response = ModelUtils.unaliasSchema(this.openAPI, response, importMapping); + Schema response = modelUtils.getSchemaFromResponse(methodResponse); + response = modelUtils.unaliasSchema(response, importMapping); if (response != null) { CodegenProperty cm = fromProperty("response", response); op.vendorExtensions.put("x-codegen-response", cm); @@ -344,18 +343,18 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { public String getTypeDeclaration(Schema p) { String openAPIType = getSchemaType(p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; - } else if (ModelUtils.isFileSchema(p) || ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isFileSchema(p) || modelUtils.isBinarySchema(p)) { return "std::shared_ptr<" + openAPIType + ">"; - } else if (ModelUtils.isStringSchema(p) - || ModelUtils.isDateSchema(p) || ModelUtils.isDateTimeSchema(p) - || ModelUtils.isFileSchema(p) || ModelUtils.isUUIDSchema(p) + } else if (modelUtils.isStringSchema(p) + || modelUtils.isDateSchema(p) || modelUtils.isDateTimeSchema(p) + || modelUtils.isFileSchema(p) || modelUtils.isUUIDSchema(p) || languageSpecificPrimitives.contains(openAPIType)) { return toModelName(openAPIType); } @@ -365,26 +364,26 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "false"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "utility::datetime()"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "utility::datetime()"; - } else if (ModelUtils.isNumberSchema(p)) { - if (ModelUtils.isFloatSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { + if (modelUtils.isFloatSchema(p)) { return "0.0f"; } return "0.0"; - } else if (ModelUtils.isIntegerSchema(p)) { - if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { + if (modelUtils.isLongSchema(p)) { return "0L"; } return "0"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "std::map()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); if (!languageSpecificPrimitives.contains(inner)) { @@ -392,10 +391,10 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { } return "std::vector<" + inner + ">()"; } else if (!StringUtils.isEmpty(p.get$ref())) { - return "new " + toModelName(ModelUtils.getSimpleRef(p.get$ref())) + "()"; - } else if (ModelUtils.isStringSchema(p)) { + return "new " + toModelName(modelUtils.getSimpleRef(p.get$ref())) + "()"; + } else if (modelUtils.isStringSchema(p)) { return "utility::conversions::to_string_t(\"\")"; - } else if (ModelUtils.isFreeFormObject(openAPI, p)) { + } else if (modelUtils.isFreeFormObject(p)) { return "new Object()"; } @@ -446,7 +445,7 @@ public class CppRestSdkClientCodegen extends AbstractCppCodegen { private void postProcessParentModels(final Map models) { for (final String parent : parentModels) { - final CodegenModel parentModel = ModelUtils.getModelByName(parent, models); + final CodegenModel parentModel = modelUtils.getModelByName(parent, models); final Collection childrenModels = childrenByParent.get(parent); for (final CodegenModel child : childrenModels) { processParentPropertiesInChildModel(parentModel, child); 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 f710e3a6588..3e219094515 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 @@ -345,18 +345,18 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { public String getTypeDeclaration(Schema p) { String openAPIType = getSchemaType(p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { return "std::string"; - } else if (ModelUtils.isStringSchema(p) - || ModelUtils.isDateSchema(p) - || ModelUtils.isDateTimeSchema(p) || ModelUtils.isFileSchema(p) + } else if (modelUtils.isStringSchema(p) + || modelUtils.isDateSchema(p) + || modelUtils.isDateTimeSchema(p) || modelUtils.isFileSchema(p) || languageSpecificPrimitives.contains(openAPIType)) { return toModelName(openAPIType); } @@ -366,32 +366,32 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } else { return "\"\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { return "false"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } else { return "\"\""; } - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } else { return "\"\""; } - } else if (ModelUtils.isNumberSchema(p)) { - if (ModelUtils.isFloatSchema(p)) { // float + } else if (modelUtils.isNumberSchema(p)) { + if (modelUtils.isFloatSchema(p)) { // float if (p.getDefault() != null) { return p.getDefault().toString() + "f"; } else { @@ -404,8 +404,8 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { return "0.0"; } } - } else if (ModelUtils.isIntegerSchema(p)) { - if (ModelUtils.isLongSchema(p)) { // long + } else if (modelUtils.isIntegerSchema(p)) { + if (modelUtils.isLongSchema(p)) { // long if (p.getDefault() != null) { return p.getDefault().toString() + "L"; } else { @@ -418,16 +418,16 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { return "0"; } } - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } else { return "\"\""; } - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "std::map()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); if (!languageSpecificPrimitives.contains(inner)) { @@ -435,7 +435,7 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { } return "std::vector<" + inner + ">()"; } else if (!StringUtils.isEmpty(p.get$ref())) { - return "std::make_shared<" + toModelName(ModelUtils.getSimpleRef(p.get$ref())) + ">()"; + return "std::make_shared<" + toModelName(modelUtils.getSimpleRef(p.get$ref())) + ">()"; } return "nullptr"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java index 16bd058996f..c278d43805e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppTizenClientCodegen.java @@ -161,9 +161,9 @@ public class CppTizenClientCodegen extends AbstractCppCodegen implements Codegen @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { return instantiationTypes.get("map"); - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { return instantiationTypes.get("array"); } else { return null; @@ -232,28 +232,28 @@ public class CppTizenClientCodegen extends AbstractCppCodegen implements Codegen //Might not be needed @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "bool(false)"; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (SchemaTypeUtil.FLOAT_FORMAT.equals(p.getFormat())) { return "float(0)"; } return "double(0)"; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (SchemaTypeUtil.INTEGER64_FORMAT.equals(p.getFormat())) { return "long(0)"; } return "int(0)"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { return "new std::map()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { return "new std::list()"; } else if (!StringUtils.isEmpty(p.get$ref())) { - return "new " + toModelName(ModelUtils.getSimpleRef(p.get$ref())) + "()"; - } else if (ModelUtils.isDateSchema(p) || ModelUtils.isDateTimeSchema(p)) { + return "new " + toModelName(modelUtils.getSimpleRef(p.get$ref())) + "()"; + } else if (modelUtils.isDateSchema(p) || modelUtils.isDateTimeSchema(p)) { return "null"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "std::string()"; } return "null"; 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 c0a1175bb64..828c95d1be2 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 @@ -379,11 +379,11 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { public String getTypeDeclaration(Schema p) { String openAPIType = getSchemaType(p); - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return getSchemaType(p) + ""; } @@ -404,41 +404,41 @@ public class CppUE4ClientCodegen extends AbstractCppCodegen { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "TEXT(\"" + p.getDefault().toString() + "\")"; } else { return null; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { return "false"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "FDateTime(0)"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "FDateTime(0)"; - } else if (ModelUtils.isDoubleSchema(p)) { + } else if (modelUtils.isDoubleSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { return "0.0"; } - } else if (ModelUtils.isFloatSchema(p)) { + } else if (modelUtils.isFloatSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { return "0.0f"; } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { return "0"; } - } else if (ModelUtils.isLongSchema(p)) { + } else if (modelUtils.isLongSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java index d06f3019c57..9d7563c4c36 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartClientCodegen.java @@ -412,14 +412,14 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toDefaultValue(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { return "const {}"; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { return "const []"; } if (schema.getDefault() != null) { - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { return "'" + schema.getDefault().toString().replaceAll("'", "\\'") + "'"; } return schema.getDefault().toString(); @@ -430,11 +430,11 @@ public class DartClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + ""; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java index 2d0a3ae0cb7..5f31781df6d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java @@ -118,14 +118,14 @@ public class DartDioClientCodegen extends DartClientCodegen { @Override public String toDefaultValue(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { return "const {}"; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { return "const []"; } if (schema.getDefault() != null) { - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { return "'" + schema.getDefault().toString().replaceAll("'", "\\'") + "'"; } return schema.getDefault().toString(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java index d932c346a4f..02ab36627e4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartJaguarClientCodegen.java @@ -132,14 +132,14 @@ public class DartJaguarClientCodegen extends DartClientCodegen { @Override public String toDefaultValue(Schema schema) { - if (ModelUtils.isMapSchema(schema)) { + if (modelUtils.isMapSchema(schema)) { return "const {}"; - } else if (ModelUtils.isArraySchema(schema)) { + } else if (modelUtils.isArraySchema(schema)) { return "const []"; } if (schema.getDefault() != null) { - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { return "'" + schema.getDefault().toString().replaceAll("'", "\\'") + "'"; } return schema.getDefault().toString(); 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 728db0d2152..86e47f6723d 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 @@ -490,42 +490,42 @@ public class ElixirClientCodegen extends DefaultCodegen implements CodegenConfig */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "%{optional(String.t) => " + getTypeDeclaration(inner) + "}"; - } else if (ModelUtils.isPasswordSchema(p)) { + } else if (modelUtils.isPasswordSchema(p)) { return "String.t"; - } else if (ModelUtils.isEmailSchema(p)) { + } else if (modelUtils.isEmailSchema(p)) { return "String.t"; - } else if (ModelUtils.isByteArraySchema(p)) { + } else if (modelUtils.isByteArraySchema(p)) { return "binary()"; - } else if (ModelUtils.isUUIDSchema(p)) { + } else if (modelUtils.isUUIDSchema(p)) { return "String.t"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "Date.t"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "DateTime.t"; - } else if (ModelUtils.isObjectSchema(p)) { + } else if (modelUtils.isObjectSchema(p)) { // TODO How to map it? return super.getTypeDeclaration(p); - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return "integer()"; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return "float()"; - } else if (ModelUtils.isBinarySchema(p) || ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isBinarySchema(p) || modelUtils.isFileSchema(p)) { return "String.t"; - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { return "boolean()"; } else if (!StringUtils.isEmpty(p.get$ref())) { // model // How to map it? return super.getTypeDeclaration(p); - } else if (ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isFileSchema(p)) { return "String.t"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "String.t"; } return super.getTypeDeclaration(p); 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 191b26445d3..dcc182e4d42 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 @@ -238,7 +238,7 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); return instantiationTypes.get("array") + " " + inner; @@ -414,19 +414,19 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + p.getDefault().toString() + "\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return Boolean.valueOf(p.getDefault().toString()) ? "True" : "False"; } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } @@ -450,11 +450,11 @@ public class ElmClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getTypeDeclaration(inner); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getTypeDeclaration(inner); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java index 5959d6e79a8..e67952b4e58 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java @@ -137,7 +137,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig @Override public CodegenModel fromModel(String name, Schema model) { CodegenModel cm = super.fromModel(name, model); - if(ModelUtils.isArraySchema(model)) { + if(modelUtils.isArraySchema(model)) { return new CodegenArrayModel(cm, (ArraySchema) model); } else { return cm; @@ -152,7 +152,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig @Override public String getTypeDeclaration(Schema schema) { String typeDeclaration = super.getSchemaType(schema); - if(ModelUtils.isArraySchema(schema)) { + if(modelUtils.isArraySchema(schema)) { ArraySchema arraySchema = (ArraySchema) schema; String complexType = getSchemaType(arraySchema.getItems()); @@ -170,7 +170,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig @Override public String getSchemaType(Schema schema) { String schemaType = super.getSchemaType(schema); - if(ModelUtils.isArraySchema(schema)) { + if(modelUtils.isArraySchema(schema)) { ArraySchema arraySchema = (ArraySchema) schema; String complexType = getSchemaType(arraySchema.getItems()); @@ -183,7 +183,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig if(minItems != null && maxItems != null) sb.append(", ").append(maxItems); return sb.append(")").toString(); - } else if(ModelUtils.isIntegerSchema(schema)) { + } else if(modelUtils.isIntegerSchema(schema)) { StringBuilder sb = new StringBuilder("integer("); BigDecimal min = schema.getMinimum(); @@ -192,9 +192,9 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig if(min != null && max != null) sb.append(", ").append(max); return sb.append(")").toString(); - } else if(ModelUtils.isDateSchema(schema) || ModelUtils.isDateTimeSchema(schema)) { + } else if(modelUtils.isDateSchema(schema) || modelUtils.isDateTimeSchema(schema)) { return typeMapping.get(schemaType); - } else if(ModelUtils.isStringSchema(schema)) { + } else if(modelUtils.isStringSchema(schema)) { StringBuilder sb = new StringBuilder("binary("); Integer min = schema.getMinLength(); Integer max = schema.getMaxLength(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java index 4f419053723..1af68a1690c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java @@ -235,7 +235,7 @@ public class FlashClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p) || ModelUtils.isMapSchema(p)) { + if (modelUtils.isArraySchema(p) || modelUtils.isMapSchema(p)) { return getSchemaType(p); } return super.getTypeDeclaration(p); @@ -258,27 +258,27 @@ public class FlashClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "false"; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return "null"; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return "null"; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return "0.0"; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return "0"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { return "new Dictionary()"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { return "new Array()"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "null"; } else { return "NaN"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java index f91fa0f9a9a..e5ea237d7bf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java @@ -349,8 +349,8 @@ public class GoClientCodegen extends AbstractGoCodegen { @Override public String toDefaultValue(Schema p) { - p = ModelUtils.getReferencedSchema(this.openAPI, p); - if (ModelUtils.isStringSchema(p)) { + p = modelUtils.getReferencedSchema(p); + if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + escapeText((String) p.getDefault()) + "\""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GraphQLNodeJSExpressServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GraphQLNodeJSExpressServerCodegen.java index 736d98d71d3..4bd5273a732 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GraphQLNodeJSExpressServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GraphQLNodeJSExpressServerCodegen.java @@ -123,7 +123,7 @@ public class GraphQLNodeJSExpressServerCodegen extends AbstractGraphQLCodegen im @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); @@ -131,7 +131,7 @@ public class GraphQLNodeJSExpressServerCodegen extends AbstractGraphQLCodegen im // between some specific types for GraphQL: // return "[" + getTypeDeclaration(inner) + "]"; return getTypeDeclaration(inner); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = (Schema) p.getAdditionalProperties(); return getTypeDeclaration(inner); @@ -139,7 +139,7 @@ public class GraphQLNodeJSExpressServerCodegen extends AbstractGraphQLCodegen im // IMPORANT NOTE Not using the supertype invocation, because we want to UpperCamelize the type: String schemaType = getSchemaType(p); - String nullable = ModelUtils.isNullable(p) ? "" : "!"; + String nullable = modelUtils.isNullable(p) ? "" : "!"; if (typeMapping.containsKey(schemaType)) { return typeMapping.get(schemaType) + nullable; 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 6c58e89d6d2..47895fc1eb6 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 @@ -624,11 +624,11 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "(Map.Map String " + getTypeDeclaration(inner) + ")"; } @@ -650,7 +650,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema additionalProperties2 = getAdditionalProperties(p); String type = additionalProperties2.getType(); if (null == type) { @@ -659,7 +659,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC } String inner = getSchemaType(additionalProperties2); return "(Map.Map Text " + inner + ")"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; return getSchemaType(ap.getItems()); } else { @@ -1245,11 +1245,11 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + escapeText((String) p.getDefault()) + "\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (p.getDefault().toString().equalsIgnoreCase("false")) return "False"; 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 6181b572f2e..9d068c4c649 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 @@ -368,11 +368,11 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "(Map.Map String " + getTypeDeclaration(inner) + ")"; } @@ -407,7 +407,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema additionalProperties2 = getAdditionalProperties(p); String type = additionalProperties2.getType(); if (null == type) { @@ -416,7 +416,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf } String inner = getSchemaType(additionalProperties2); return "(Map.Map Text " + inner + ")"; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); // Return only the inner type; the wrapping with QueryList is done 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 9678d29c880..fb0dc35efc9 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 @@ -201,11 +201,11 @@ public class JMeterClientCodegen extends DefaultCodegen implements CodegenConfig */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFExtServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFExtServerCodegen.java index 01b7293ab94..27a97fcfa12 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFExtServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaCXFExtServerCodegen.java @@ -1431,9 +1431,9 @@ public class JavaCXFExtServerCodegen extends JavaCXFServerCodegen implements CXF @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isGenerateAliasAsModel(p) && StringUtils.isNotEmpty(p.get$ref())) { - Schema ref = ModelUtils.getReferencedSchema(this.openAPI, p); - if (ModelUtils.isArraySchema(ref) || ModelUtils.isMapSchema(ref)) { + if (modelUtils.isGenerateAliasAsModel(p) && StringUtils.isNotEmpty(p.get$ref())) { + Schema ref = modelUtils.getReferencedSchema(p); + if (modelUtils.isArraySchema(ref) || modelUtils.isMapSchema(ref)) { String typeDeclaration = getTypeDeclaration(p); return String.format(Locale.ROOT, "new %s()", typeDeclaration); } 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 3476192f4c4..a9b98bd35d1 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 @@ -560,11 +560,11 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "{String: " + getTypeDeclaration(inner) + "}"; } @@ -573,23 +573,23 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + p.getDefault() + "'"; } @@ -814,7 +814,7 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums) { @@ -822,14 +822,14 @@ public class JavascriptApolloClientCodegen extends DefaultCodegen implements Cod final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel); codegenModel = JavascriptApolloClientCodegen.reconcileInlineEnums(codegenModel, parentCodegenModel); } - if (ModelUtils.isArraySchema(model)) { + if (modelUtils.isArraySchema(model)) { ArraySchema am = (ArraySchema) model; if (codegenModel != null && am.getItems() != null) { String itemType = getSchemaType(am.getItems()); codegenModel.vendorExtensions.put("x-is-array", true); codegenModel.vendorExtensions.put("x-item-type", itemType); } - } else if (ModelUtils.isMapSchema(model)) { + } else if (modelUtils.isMapSchema(model)) { if (codegenModel != null && getAdditionalProperties(model) != null) { String itemType = getSchemaType(getAdditionalProperties(model)); codegenModel.vendorExtensions.put("x-is-map", true); 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 c3fa812bcab..eda56edd76b 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 @@ -611,11 +611,11 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "{String: " + getTypeDeclaration(inner) + "}"; } @@ -624,23 +624,23 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + p.getDefault() + "'"; } @@ -865,7 +865,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (allDefinitions != null && codegenModel != null && codegenModel.parent != null && codegenModel.hasEnums) { @@ -873,14 +873,14 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel); codegenModel = JavascriptClientCodegen.reconcileInlineEnums(codegenModel, parentCodegenModel); } - if (ModelUtils.isArraySchema(model)) { + if (modelUtils.isArraySchema(model)) { ArraySchema am = (ArraySchema) model; if (codegenModel != null && am.getItems() != null) { String itemType = getSchemaType(am.getItems()); codegenModel.vendorExtensions.put("x-is-array", true); codegenModel.vendorExtensions.put("x-item-type", itemType); } - } else if (ModelUtils.isMapSchema(model)) { + } else if (modelUtils.isMapSchema(model)) { if (codegenModel != null && getAdditionalProperties(model) != null) { String itemType = getSchemaType(getAdditionalProperties(model)); codegenModel.vendorExtensions.put("x-is-map", true); 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 877db877e4d..6d050696c24 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 @@ -220,14 +220,14 @@ public class JavascriptClosureAngularClientCodegen extends DefaultCodegen implem @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + ""; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "Object"; - } else if (ModelUtils.isFileSchema(p)) { + } else if (modelUtils.isFileSchema(p)) { return "Object"; } String type = super.getTypeDeclaration(p); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/K6ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/K6ClientCodegen.java index edd71aeae55..85f3d208f19 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/K6ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/K6ClientCodegen.java @@ -325,16 +325,16 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig { } } - if (hasBodyParameter(openAPI, operation) || hasFormParameter(openAPI, operation)) { - String defaultContentType = hasFormParameter(openAPI, operation) ? "application/x-www-form-urlencoded" : "application/json"; - List consumes = new ArrayList<>(getConsumesInfo(openAPI, operation)); + if (hasBodyParameter(operation) || hasFormParameter(operation)) { + String defaultContentType = hasFormParameter(operation) ? "application/x-www-form-urlencoded" : "application/json"; + List consumes = new ArrayList<>(getConsumesInfo(operation)); String contentTypeValue = consumes == null || consumes.isEmpty() ? defaultContentType : consumes.get(0); if (contentTypeValue.equals("*/*")) contentTypeValue = "application/json"; Parameter contentType = new Parameter("Content-Type", getDoubleQuotedString(contentTypeValue)); httpParams.add(contentType); - RequestBody requestBody = ModelUtils.getReferencedRequestBody(openAPI, operation.getRequestBody()); + RequestBody requestBody = modelUtils.getReferencedRequestBody(operation.getRequestBody()); for (Map.Entry responseEntry : operation.getResponses().entrySet()) { CodegenResponse r = fromResponse(responseEntry.getKey(), responseEntry.getValue()); @@ -349,7 +349,7 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig { for (CodegenParameter parameter : formParameteres) { String reference = ""; if (parameter.isModel) { - Schema nestedSchema = ModelUtils.getSchema(openAPI, parameter.baseType); + Schema nestedSchema = modelUtils.getSchema(parameter.baseType); CodegenModel model = fromModel(parameter.paramName, nestedSchema); reference = generateNestedModelTemplate(model); if (parameter.dataType.equals("List")) { @@ -369,7 +369,7 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig { bodyOrFormParams.add(k6Parameter); } } - String accepts = getAccept(openAPI, operation); + String accepts = getAccept(operation); String responseType = getDoubleQuotedString(accepts); try { @@ -602,10 +602,10 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig { return input.replace("*/", "*_/").replace("/*", "/_*"); } - private static String getAccept(OpenAPI openAPI, Operation operation) { + private String getAccept(Operation operation) { String accepts = null; String defaultContentType = "application/json"; - Set producesInfo = getProducesInfo(openAPI, operation); + Set producesInfo = getProducesInfo(operation); if (producesInfo != null && !producesInfo.isEmpty()) { ArrayList produces = new ArrayList<>(producesInfo); StringBuilder sb = new StringBuilder(); 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 f69352db3a9..2f8fc7d6f7f 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 @@ -362,11 +362,11 @@ public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getTypeDeclaration(inner); - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = 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 f9803661b38..7502d644cc5 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 @@ -270,14 +270,14 @@ public class NimClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); if (inner == null) { return null; } return "seq[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = 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 c75c08053a9..971e834ceed 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 @@ -575,7 +575,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); if (inner == null) { @@ -583,7 +583,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig inner = new StringSchema().description("TODO default missing array inner type to string"); } return getTypeDeclaration(inner) + " list"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); if (inner == null) { LOGGER.warn(p.getName() + "(map property) does not have a proper inner type defined. Default to string"); @@ -596,7 +596,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig return enumUniqNames.get(h); } - Schema referencedSchema = ModelUtils.getReferencedSchema(openAPI, p); + Schema referencedSchema = modelUtils.getReferencedSchema(p); if (referencedSchema != null && referencedSchema.getEnum() != null) { String h = hashEnum(referencedSchema); return "Enums." + enumUniqNames.get(h); 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 11d68c0771e..04e93f9364a 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 @@ -325,9 +325,9 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { return instantiationTypes.get("map"); - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { return instantiationTypes.get("array"); } else { return null; @@ -366,7 +366,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); String innerTypeDeclaration = getTypeDeclaration(inner); @@ -388,7 +388,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { } return getSchemaType(p) + "<" + innerTypeDeclaration + ">*"; } - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); String innerTypeDeclaration = getTypeDeclaration(inner); @@ -679,23 +679,23 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isDateSchema(p)) { + if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return "@" + p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return "@" + p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "@\"" + (String) p.getDefault() + "\""; } - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (p.getDefault().toString().equalsIgnoreCase("false")) return "@(NO)"; 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 16c360a7ba8..c25a9700c18 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 @@ -252,11 +252,11 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[string," + getTypeDeclaration(inner) + "]"; } @@ -283,23 +283,23 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + p.getDefault() + "'"; } 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 3c33950a034..dba4a19bdb1 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 @@ -171,11 +171,11 @@ public class PhpSilexServerCodegen extends DefaultCodegen implements CodegenConf @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[string," + getTypeDeclaration(inner) + "]"; } 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 30c41f7f291..2f29fa6d3d2 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 @@ -536,13 +536,13 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getTypeDeclaration(inner); } - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getTypeDeclaration(inner); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java index ee2099b6af8..89827d40246 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java @@ -226,7 +226,7 @@ public class PhpZendExpressivePathHandlerServerCodegen extends AbstractPhpCodege if (parameter instanceof QueryParameter) { QueryParameter queryParameter = (QueryParameter) parameter; // array - if (ModelUtils.isArraySchema(queryParameter.getSchema())) { + if (modelUtils.isArraySchema(queryParameter.getSchema())) { Schema inner = ((ArraySchema) queryParameter.getSchema()).getItems(); ArraySchema arraySchema = new ArraySchema(); arraySchema.setMinItems(queryParameter.getSchema().getMinItems()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java index 379147ccb2a..707d81c7a84 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java @@ -906,11 +906,11 @@ public class PowerShellClientCodegen extends DefaultCodegen implements CodegenCo */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getTypeDeclaration(inner) + "[]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { return "System.Collections.Hashtable"; } else if (!languageSpecificPrimitives.contains(getSchemaType(p))) { return super.getTypeDeclaration(p); @@ -1272,21 +1272,21 @@ public class PowerShellClientCodegen extends DefaultCodegen implements CodegenCo @Override public String toDefaultValue(Schema p) { if (p.getDefault() != null) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (Boolean.valueOf(p.getDefault().toString())) { return "$true"; } else { return "$false"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { LOGGER.warn("Default value for `date` not yet supported. Please open an issue with https://github.com/openapitools/openapi-generator"); - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { LOGGER.warn("Default value for `datetime` not yet supported. Please open an issue with https://github.com/openapitools/openapi-generator"); - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return p.getDefault().toString(); - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return p.getDefault().toString(); - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "\"" + p.getDefault() + "\""; } } 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 fa9c7015d11..3cce103b6b7 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 @@ -300,33 +300,33 @@ public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConf */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (Boolean.valueOf(p.getDefault().toString()) == false) return "false"; else return "true"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { if (Pattern.compile("\r\n|\r|\n").matcher((String) p.getDefault()).find()) return "'''" + p.getDefault() + "'''"; else return "'" + p.getDefault() + "'"; } - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } @@ -484,11 +484,11 @@ public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConf @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[str, " + getTypeDeclaration(inner) + "]"; } 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 7ea25de9cb1..66180d0426b 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 @@ -142,7 +142,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } // default this to true so the python ModelSimple models will be generated - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); LOGGER.info(CodegenConstants.GENERATE_ALIAS_AS_MODEL + " is hard coded to true in this generator. Alias models will only be generated if they contain validations or enums"); Boolean attrNoneIfUnset = false; @@ -170,7 +170,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { @Override public Schema unaliasSchema(Schema schema, Map usedImportMappings) { - Map allSchemas = ModelUtils.getSchemas(openAPI); + Map allSchemas = modelUtils.getSchemas(); if (allSchemas == null || allSchemas.isEmpty()) { // skip the warning as the spec can have no model defined //LOGGER.warn("allSchemas cannot be null/empty in unaliasSchema. Returned 'schema'"); @@ -178,7 +178,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { - String simpleRef = ModelUtils.getSimpleRef(schema.get$ref()); + String simpleRef = modelUtils.getSimpleRef(schema.get$ref()); if (usedImportMappings.containsKey(simpleRef)) { LOGGER.debug("Schema unaliasing of {} omitted because aliased class is to be mapped to {}", simpleRef, usedImportMappings.get(simpleRef)); return schema; @@ -190,41 +190,41 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } else if (ref.getEnum() != null && !ref.getEnum().isEmpty()) { // top-level enum class return schema; - } else if (ModelUtils.isArraySchema(ref)) { - if (ModelUtils.isGenerateAliasAsModel(ref)) { + } else if (modelUtils.isArraySchema(ref)) { + if (modelUtils.isGenerateAliasAsModel(ref)) { return schema; // generate a model extending array } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), + return unaliasSchema(allSchemas.get(modelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); } - } else if (ModelUtils.isComposedSchema(ref)) { + } else if (modelUtils.isComposedSchema(ref)) { return schema; - } else if (ModelUtils.isMapSchema(ref)) { + } else if (modelUtils.isMapSchema(ref)) { if (ref.getProperties() != null && !ref.getProperties().isEmpty()) // has at least one property return schema; // treat it as model else { - if (ModelUtils.isGenerateAliasAsModel(ref)) { + if (modelUtils.isGenerateAliasAsModel(ref)) { return schema; // generate a model extending map } else { // treat it as a typical map - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), + return unaliasSchema(allSchemas.get(modelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); } } - } else if (ModelUtils.isObjectSchema(ref)) { // model + } else if (modelUtils.isObjectSchema(ref)) { // model if (ref.getProperties() != null && !ref.getProperties().isEmpty()) { // has at least one property return schema; } else { // free form object (type: object) - if (ModelUtils.hasValidation(ref)) { + if (modelUtils.hasValidation(ref)) { return schema; } else if (getAllOfDescendants(simpleRef, openAPI).size() > 0) { return schema; } - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), + return unaliasSchema(allSchemas.get(modelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); } - } else if (ModelUtils.hasValidation(ref)) { + } else if (modelUtils.hasValidation(ref)) { // non object non array non map schemas that have validations // are returned so we can generate those schemas as models // we do this to: @@ -232,7 +232,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { // - use those validations when we use this schema in composed oneOf schemas return schema; } else { - return unaliasSchema(allSchemas.get(ModelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); + return unaliasSchema(allSchemas.get(modelUtils.getSimpleRef(schema.get$ref())), usedImportMappings); } } return schema; @@ -297,13 +297,13 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } String defaultValue = defaultObject.toString(); - if (ModelUtils.isDateSchema(p)) { + if (modelUtils.isDateSchema(p)) { defaultValue = pythonDate(defaultObject); - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { defaultValue = pythonDateTime(defaultObject); - } else if (ModelUtils.isStringSchema(p) && !ModelUtils.isByteArraySchema(p) && !ModelUtils.isBinarySchema(p) && !ModelUtils.isFileSchema(p) && !ModelUtils.isUUIDSchema(p) && !ModelUtils.isEmailSchema(p)) { + } else if (modelUtils.isStringSchema(p) && !modelUtils.isByteArraySchema(p) && !modelUtils.isBinarySchema(p) && !modelUtils.isFileSchema(p) && !modelUtils.isUUIDSchema(p) && !modelUtils.isEmailSchema(p)) { defaultValue = ensureQuotes(defaultValue); - } else if (ModelUtils.isBooleanSchema(p)) { + } else if (modelUtils.isBooleanSchema(p)) { if (Boolean.valueOf(defaultValue) == false) { defaultValue = "False"; } else { @@ -359,7 +359,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { super.postProcessAllModels(objs); List modelsToRemove = new ArrayList<>(); - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); for (String schemaName: allDefinitions.keySet()) { Schema refSchema = new Schema().$ref("#/components/schemas/"+schemaName); Schema unaliasedSchema = unaliasSchema(refSchema, importMapping); @@ -467,7 +467,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { @Override public CodegenParameter fromRequestBody(RequestBody body, Set imports, String bodyParameterName) { CodegenParameter cp = super.fromRequestBody(body, imports, bodyParameterName); - Schema schema = ModelUtils.getSchemaFromRequestBody(body); + Schema schema = modelUtils.getSchemaFromRequestBody(body); if (schema.get$ref() == null) { return cp; } @@ -586,7 +586,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { oneOfanyOfSchemas.addAll(anyOf); } for (Schema sc: oneOfanyOfSchemas) { - Schema refSchema = ModelUtils.getReferencedSchema(this.openAPI, sc); + Schema refSchema = modelUtils.getReferencedSchema(sc); addProperties(otherProperties, otherRequired, refSchema); } Set otherRequiredSet = new HashSet(otherRequired); @@ -651,7 +651,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { postProcessModelProperty(cm, cp); } } - Boolean isNotPythonModelSimpleModel = (ModelUtils.isComposedSchema(sc) || ModelUtils.isObjectSchema(sc) || ModelUtils.isMapSchema(sc)); + Boolean isNotPythonModelSimpleModel = (modelUtils.isComposedSchema(sc) || modelUtils.isObjectSchema(sc) || modelUtils.isMapSchema(sc)); if (isNotPythonModelSimpleModel) { return cm; } @@ -703,7 +703,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (sc.get$ref() != null) { Schema unaliasedSchema = unaliasSchema(sc, importMapping); if (unaliasedSchema.get$ref() != null) { - return toModelName(ModelUtils.getSimpleRef(sc.get$ref())); + return toModelName(modelUtils.getSimpleRef(sc.get$ref())); } } return null; @@ -740,27 +740,27 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { // a composed schema, convert the name to a Python class. Schema unaliasedSchema = unaliasSchema(p, importMapping); if (unaliasedSchema.get$ref() != null) { - String modelName = toModelName(ModelUtils.getSimpleRef(p.get$ref())); + String modelName = toModelName(modelUtils.getSimpleRef(p.get$ref())); if (referencedModelNames != null) { referencedModelNames.add(modelName); } return prefix + modelName + fullSuffix; } } - if (ModelUtils.isAnyTypeSchema(openAPI, p)) { + if (modelUtils.isAnyTypeSchema(p)) { return prefix + "bool, date, datetime, dict, float, int, list, str, none_type" + suffix; } - // Resolve $ref because ModelUtils.isXYZ methods do not automatically resolve references. - if (ModelUtils.isNullable(ModelUtils.getReferencedSchema(this.openAPI, p))) { + // Resolve $ref because modelUtils.isXYZ methods do not automatically resolve references. + if (modelUtils.isNullable(modelUtils.getReferencedSchema(p))) { fullSuffix = ", none_type" + suffix; } - if (ModelUtils.isFreeFormObject(openAPI, p) && getAdditionalProperties(p) == null) { + if (modelUtils.isFreeFormObject(p) && getAdditionalProperties(p) == null) { return prefix + "bool, date, datetime, dict, float, int, list, str" + fullSuffix; } - if ((ModelUtils.isMapSchema(p) || "object".equals(p.getType())) && getAdditionalProperties(p) != null) { + if ((modelUtils.isMapSchema(p) || "object".equals(p.getType())) && getAdditionalProperties(p) != null) { Schema inner = getAdditionalProperties(p); return prefix + "{str: " + getTypeString(inner, "(", ")", referencedModelNames) + "}" + fullSuffix; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); if (inner == null) { @@ -777,7 +777,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { return prefix + getTypeString(inner, "[", "]", referencedModelNames) + fullSuffix; } } - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { return prefix + "file_type" + fullSuffix; } String baseType = getSchemaType(p); @@ -801,7 +801,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { @Override public String toInstantiationType(Schema property) { - if (ModelUtils.isArraySchema(property) || ModelUtils.isMapSchema(property) || property.getAdditionalProperties() != null) { + if (modelUtils.isArraySchema(property) || modelUtils.isMapSchema(property) || property.getAdditionalProperties() != null) { return getSchemaType(property); } return super.toInstantiationType(property); @@ -837,10 +837,10 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { Schema schema = sc; String ref = sc.get$ref(); if (ref != null) { - schema = ModelUtils.getSchema(this.openAPI, ModelUtils.getSimpleRef(ref)); + schema = modelUtils.getSchema(modelUtils.getSimpleRef(ref)); } // TODO handle examples in object models in the future - Boolean objectModel = (ModelUtils.isObjectSchema(schema) || ModelUtils.isMapSchema(schema) || ModelUtils.isComposedSchema(schema)); + Boolean objectModel = (modelUtils.isObjectSchema(schema) || modelUtils.isMapSchema(schema) || modelUtils.isComposedSchema(schema)); if (objectModel) { return null; } @@ -883,9 +883,9 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { Schema sc = schema; String ref = schema.get$ref(); if (ref != null) { - sc = ModelUtils.getSchema(this.openAPI, ModelUtils.getSimpleRef(ref)); + sc = modelUtils.getSchema(modelUtils.getSimpleRef(ref)); } - if (ModelUtils.isStringSchema(sc) && !ModelUtils.isDateSchema(sc) && !ModelUtils.isDateTimeSchema(sc) && !"Number".equalsIgnoreCase(sc.getFormat()) && !ModelUtils.isByteArraySchema(sc) && !ModelUtils.isBinarySchema(sc) && schema.getPattern() == null) { + if (modelUtils.isStringSchema(sc) && !modelUtils.isDateSchema(sc) && !modelUtils.isDateTimeSchema(sc) && !"Number".equalsIgnoreCase(sc.getFormat()) && !modelUtils.isByteArraySchema(sc) && !modelUtils.isBinarySchema(sc) && schema.getPattern() == null) { return true; } return false; @@ -895,7 +895,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { for ( MappedModel mm : disc.getMappedModels() ) { String modelName = mm.getModelName(); Schema modelSchema = getModelNameToSchemaCache().get(modelName); - if (ModelUtils.isObjectSchema(modelSchema)) { + if (modelUtils.isObjectSchema(modelSchema)) { return mm; } } @@ -949,8 +949,8 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { example = objExample.toString(); } if (null != schema.get$ref()) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); - String ref = ModelUtils.getSimpleRef(schema.get$ref()); + Map allDefinitions = modelUtils.getSchemas(); + String ref = modelUtils.getSimpleRef(schema.get$ref()); Schema refSchema = allDefinitions.get(ref); if (null == refSchema) { LOGGER.warn("Unable to find referenced schema "+schema.get$ref()+"\n"); @@ -958,11 +958,11 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } String refModelName = getModelName(schema); return toExampleValueRecursive(refModelName, refSchema, objExample, indentationLevel, prefix, exampleLine); - } else if (ModelUtils.isNullType(schema) || ModelUtils.isAnyTypeSchema(openAPI, schema)) { + } else if (modelUtils.isNullType(schema) || modelUtils.isAnyTypeSchema(schema)) { // The 'null' type is allowed in OAS 3.1 and above. It is not supported by OAS 3.0.x, // though this tooling supports it. return fullPrefix + "None" + closeChars; - } else if (ModelUtils.isBooleanSchema(schema)) { + } else if (modelUtils.isBooleanSchema(schema)) { if (objExample == null) { example = "True"; } else { @@ -973,32 +973,32 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { } } return fullPrefix + example + closeChars; - } else if (ModelUtils.isDateSchema(schema)) { + } else if (modelUtils.isDateSchema(schema)) { if (objExample == null) { example = pythonDate("1970-01-01"); } else { example = pythonDate(objExample); } return fullPrefix + example + closeChars; - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { if (objExample == null) { example = pythonDateTime("1970-01-01T00:00:00.00Z"); } else { example = pythonDateTime(objExample); } return fullPrefix + example + closeChars; - } else if (ModelUtils.isBinarySchema(schema)) { + } else if (modelUtils.isBinarySchema(schema)) { if (objExample == null) { example = "/path/to/file"; } example = "open('" + example + "', 'rb')"; return fullPrefix + example + closeChars; - } else if (ModelUtils.isByteArraySchema(schema)) { + } else if (modelUtils.isByteArraySchema(schema)) { if (objExample == null) { example = "'YQ=='"; } return fullPrefix + example + closeChars; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { if (objExample == null) { // a BigDecimal: if ("Number".equalsIgnoreCase(schema.getFormat())) { @@ -1022,14 +1022,14 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { example = ""; int len = schema.getMinLength().intValue(); for (int i=0;i 1) { - // @see ModelUtils.getSchemaFromContent() + // @see modelUtils.getSchemaFromContent() once(LOGGER).warn("Multiple MediaTypes found, using only the first one"); } @@ -1283,7 +1283,7 @@ public class PythonClientCodegen extends PythonLegacyClientCodegen { if (modelNameToSchemaCache == null) { // Create a cache to efficiently lookup schema based on model name. Map m = new HashMap(); - ModelUtils.getSchemas(openAPI).forEach((key, schema) -> { + modelUtils.getSchemas().forEach((key, schema) -> { m.put(toModelName(key), schema); }); modelNameToSchemaCache = Collections.unmodifiableMap(m); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonLegacyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonLegacyClientCodegen.java index 372e6becdbc..7212027caf7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonLegacyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonLegacyClientCodegen.java @@ -469,11 +469,11 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "(str, " + getTypeDeclaration(inner) + ")"; @@ -673,33 +673,33 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen */ @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (Boolean.valueOf(p.getDefault().toString()) == false) return "False"; else return "True"; } - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { // TODO - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // TODO - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { if (Pattern.compile("\r\n|\r|\n").matcher((String) p.getDefault()).find()) return "'''" + p.getDefault() + "'''"; else return "'" + ((String) p.getDefault()).replaceAll("'", "\'") + "'"; } - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } @@ -726,24 +726,24 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen example = schema.getExample().toString(); } - if (ModelUtils.isNullType(schema) && null != example) { + if (modelUtils.isNullType(schema) && null != example) { // The 'null' type is allowed in OAS 3.1 and above. It is not supported by OAS 3.0.x, // though this tooling supports it. return "None"; } // correct "true"s into "True"s, since super.toExampleValue uses "toString()" on Java booleans - if (ModelUtils.isBooleanSchema(schema) && null!=example) { + if (modelUtils.isBooleanSchema(schema) && null!=example) { if ("false".equalsIgnoreCase(example)) example = "False"; else example = "True"; } // correct "'"s into "'"s after toString() - if (ModelUtils.isStringSchema(schema) && schema.getDefault() != null && !ModelUtils.isDateSchema(schema) && !ModelUtils.isDateTimeSchema(schema)) { + if (modelUtils.isStringSchema(schema) && schema.getDefault() != null && !modelUtils.isDateSchema(schema) && !modelUtils.isDateTimeSchema(schema)) { example = (String) schema.getDefault(); } if (StringUtils.isNotBlank(example) && !"null".equals(example)) { - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { example = "'" + example + "'"; } return example; @@ -752,7 +752,7 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen if (schema.getEnum() != null && !schema.getEnum().isEmpty()) { // Enum case: example = schema.getEnum().get(0).toString(); - if (ModelUtils.isStringSchema(schema)) { + if (modelUtils.isStringSchema(schema)) { example = "'" + escapeText(example) + "'"; } if (null == example) @@ -761,8 +761,8 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen return example; } else if (null != schema.get$ref()) { // $ref case: - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); - String ref = ModelUtils.getSimpleRef(schema.get$ref()); + Map allDefinitions = modelUtils.getSchemas(); + String ref = modelUtils.getSimpleRef(schema.get$ref()); if (allDefinitions != null) { Schema refSchema = allDefinitions.get(ref); if (null == refSchema) { @@ -781,18 +781,18 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen LOGGER.warn("allDefinitions not defined in toExampleValue!\n"); } } - if (ModelUtils.isDateSchema(schema)) { + if (modelUtils.isDateSchema(schema)) { example = "datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date()"; return example; - } else if (ModelUtils.isDateTimeSchema(schema)) { + } else if (modelUtils.isDateTimeSchema(schema)) { example = "datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')"; return example; - } else if (ModelUtils.isBinarySchema(schema)) { + } else if (modelUtils.isBinarySchema(schema)) { example = "bytes(b'blah')"; return example; - } else if (ModelUtils.isByteArraySchema(schema)) { + } else if (modelUtils.isByteArraySchema(schema)) { example = "YQ=="; - } else if (ModelUtils.isStringSchema(schema)) { + } else if (modelUtils.isStringSchema(schema)) { // a BigDecimal: if ("Number".equalsIgnoreCase(schema.getFormat())) {return "1";} if (StringUtils.isNotBlank(schema.getPattern())) { @@ -822,25 +822,25 @@ public class PythonLegacyClientCodegen extends DefaultCodegen implements Codegen for (int i=0;i"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); if (inner == null) { LOGGER.warn(p.getName() + "(map property) does not have a proper inner type defined. Default 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 81b33ca2e94..4a31746ae3b 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 @@ -266,7 +266,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { " (--enable-post-process-file for CLI)."); } - if (!Boolean.TRUE.equals(ModelUtils.isGenerateAliasAsModel())) { + if (!Boolean.TRUE.equals(modelUtils.isGenerateAliasAsModel())) { LOGGER.warn("generateAliasAsModel is set to false, which means array/map will be generated as model instead and the resulting code may have issues. Please enable `generateAliasAsModel` to address the issue."); } @@ -606,7 +606,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { @Override public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, List servers) { - Map definitions = ModelUtils.getSchemas(this.openAPI); + Map definitions = modelUtils.getSchemas(); CodegenOperation op = super.fromOperation(path, httpMethod, operation, servers); String pathFormatString = op.path; @@ -762,7 +762,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { // Determine the types that this operation produces. `getProducesInfo` // simply lists all the types, and then we add the correct imports to // the generated library. - List produces = new ArrayList(getProducesInfo(openAPI, operation)); + List produces = new ArrayList(getProducesInfo(operation)); boolean producesXml = false; boolean producesPlainText = false; if (produces != null && !produces.isEmpty()) { @@ -925,7 +925,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { Schema response = (Schema) rsp.schema; // Check whether we're returning an object with a defined XML namespace. if (response != null && (!StringUtils.isEmpty(response.get$ref()))) { - Schema model = definitions.get(ModelUtils.getSimpleRef(response.get$ref())); + Schema model = definitions.get(modelUtils.getSimpleRef(response.get$ref())); if ((model != null)) { XML xml = model.getXml(); if ((xml != null) && (xml.getNamespace() != null)) { @@ -1114,7 +1114,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { // restore things to sensible values. @Override public CodegenParameter fromRequestBody(RequestBody body, Set imports, String bodyParameterName) { - Schema original_schema = ModelUtils.getSchemaFromRequestBody(body); + Schema original_schema = modelUtils.getSchemaFromRequestBody(body); CodegenParameter codegenParameter = super.fromRequestBody(body, imports, bodyParameterName); if (StringUtils.isNotBlank(original_schema.get$ref())) { @@ -1124,7 +1124,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { codegenParameter.isPrimitiveType = false; codegenParameter.isArray = false; codegenParameter.isString = false; - codegenParameter.isByteArray = ModelUtils.isByteArraySchema(original_schema); + codegenParameter.isByteArray = modelUtils.isByteArraySchema(original_schema); // This is a model, so should only have an example if explicitly @@ -1142,12 +1142,12 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); String innerType = getTypeDeclaration(inner); return typeMapping.get("array") + "<" + innerType + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); String innerType = getTypeDeclaration(inner); StringBuilder typeDeclaration = new StringBuilder(typeMapping.get("map")).append("<").append(typeMapping.get("string")).append(", "); @@ -1177,11 +1177,11 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return instantiationTypes.get("array") + "<" + getSchemaType(inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return instantiationTypes.get("map") + "<" + typeMapping.get("string") + ", " + getSchemaType(inner) + ">"; } else { @@ -1191,14 +1191,14 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel mdl = super.fromModel(name, model); mdl.vendorExtensions.put("x-upper-case-name", name.toUpperCase(Locale.ROOT)); if (!StringUtils.isEmpty(model.get$ref())) { - Schema schema = allDefinitions.get(ModelUtils.getSimpleRef(model.get$ref())); + Schema schema = allDefinitions.get(modelUtils.getSimpleRef(model.get$ref())); mdl.dataType = typeMapping.get(schema.getType()); } - if (ModelUtils.isArraySchema(model)) { + if (modelUtils.isArraySchema(model)) { ArraySchema am = (ArraySchema) model; String xmlName = null; @@ -1213,7 +1213,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { am.getItems() != null && !StringUtils.isEmpty(am.getItems().get$ref())) { Schema inner_schema = allDefinitions.get( - ModelUtils.getSimpleRef(am.getItems().get$ref())); + modelUtils.getSimpleRef(am.getItems().get$ref())); if (inner_schema.getXml() != null && inner_schema.getXml().getName() != null) { @@ -1376,29 +1376,29 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toDefaultValue(Schema p) { String defaultValue = null; - if ((ModelUtils.isNullable(p)) && (p.getDefault() != null) && (p.getDefault().toString().equalsIgnoreCase("null"))) + if ((modelUtils.isNullable(p)) && (p.getDefault() != null) && (p.getDefault().toString().equalsIgnoreCase("null"))) return "swagger::Nullable::Null"; - else if (ModelUtils.isBooleanSchema(p)) { + else if (modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { if (p.getDefault().toString().equalsIgnoreCase("false")) defaultValue = "false"; else defaultValue = "true"; } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { defaultValue = p.getDefault().toString(); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { defaultValue = p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { defaultValue = "\"" + (String) p.getDefault() + "\".to_string()"; } } - if ((defaultValue != null) && (ModelUtils.isNullable(p))) + if ((defaultValue != null) && (modelUtils.isNullable(p))) defaultValue = "swagger::Nullable::Present(" + defaultValue + ")"; return defaultValue; } 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 138e9bf9c1d..3446cc65b1b 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 @@ -271,27 +271,27 @@ public class ScalaAkkaClientCodegen extends AbstractScalaCodegen implements Code return "None"; } - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return null; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return null; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return null; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return null; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return null; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "Map[String, " + inner + "].empty "; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - if (ModelUtils.isSet(ap)) { + if (modelUtils.isSet(ap)) { return "Set[" + inner + "].empty "; } return "Seq[" + inner + "].empty "; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return null; } else { return null; 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 b899a00390b..e581e3f852e 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 @@ -260,11 +260,11 @@ public class ScalaFinchServerCodegen extends DefaultCodegen implements CodegenCo @SuppressWarnings("Duplicates") @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = 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 30d8c83d130..ac4cb783768 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 @@ -382,11 +382,11 @@ public class ScalaGatlingCodegen extends AbstractScalaCodegen implements Codegen */ @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } 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 cb5f63bf55a..80d8c5b1501 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 @@ -333,48 +333,48 @@ public class ScalaPlayFrameworkServerCodegen extends AbstractScalaCodegen implem return p.getDefault().toString(); } - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return "false"; } - if (ModelUtils.isDateSchema(p)) { + if (modelUtils.isDateSchema(p)) { return "LocalDate.now"; } - if (ModelUtils.isDateTimeSchema(p)) { + if (modelUtils.isDateTimeSchema(p)) { return "OffsetDateTime.now"; } - if (ModelUtils.isDoubleSchema(p)) { + if (modelUtils.isDoubleSchema(p)) { return "0.0"; } - if (ModelUtils.isFloatSchema(p)) { + if (modelUtils.isFloatSchema(p)) { return "0.0F"; } - if (ModelUtils.isIntegerSchema(p)) { + if (modelUtils.isIntegerSchema(p)) { return "0"; } - if (ModelUtils.isLongSchema(p)) { + if (modelUtils.isLongSchema(p)) { return "0L"; } - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { return "\"\""; } - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { Schema ap = getAdditionalProperties(p); String inner = getSchemaType(ap); return "Map.empty[String, " + inner + "]"; } - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { Schema items = ((ArraySchema) p).getItems(); String inner = getSchemaType(items); - if (ModelUtils.isSet(p)) { + if (modelUtils.isSet(p)) { return "Set.empty[" + inner + "]"; } return "List.empty[" + inner + "]"; 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 4e26928038e..5cb31cb5fd0 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 @@ -275,27 +275,27 @@ public class ScalaSttpClientCodegen extends AbstractScalaCodegen implements Code return "None"; } - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return null; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return null; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return null; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return null; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return null; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "Map[String, " + inner + "].empty "; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - if (ModelUtils.isSet(ap)) { + if (modelUtils.isSet(ap)) { return "Set[" + inner + "].empty "; } return "Seq[" + inner + "].empty "; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return null; } else { return null; 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 8ba9e1f8c45..3b2bf7cd226 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 @@ -172,29 +172,29 @@ public class ScalazClientCodegen extends AbstractScalaCodegen implements Codegen } // comment out the following as the default value is no handled differently - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return null; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return null; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return null; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { return null; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { return null; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { String inner = getSchemaType(getAdditionalProperties(p)); return "Map.empty[String, " + inner + "] "; - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - String collectionType = ModelUtils.isSet(ap) ? typeMapping.get("set") : typeMapping.get("array"); + String collectionType = modelUtils.isSet(ap) ? typeMapping.get("set") : typeMapping.get("array"); // We assume that users would map these collections to a monoid with an identity function // There's no reason to assume mutable structure here (which may make consumption more difficult) return collectionType + ".empty[" + inner + "] "; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return null; } else { return null; 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 055b29417da..295145bce09 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 @@ -130,11 +130,11 @@ public class StaticHtml2Generator extends DefaultCodegen implements CodegenConfi @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } 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 3804de3160a..28eccde24a0 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 @@ -112,11 +112,11 @@ public class StaticHtmlGenerator extends DefaultCodegen implements CodegenConfig @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return getSchemaType(p) + "[String, " + getTypeDeclaration(inner) + "]"; } @@ -207,7 +207,7 @@ public class StaticHtmlGenerator extends DefaultCodegen implements CodegenConfig Info info = openAPI.getInfo(); info.setDescription(toHtml(info.getDescription())); info.setTitle(toHtml(info.getTitle())); - Map models = ModelUtils.getSchemas(openAPI); + Map models = modelUtils.getSchemas(); for (Schema model : models.values()) { model.setDescription(toHtml(model.getDescription())); model.setTitle(toHtml(model.getTitle())); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java index 59b214a5490..89dbc34ca3f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java @@ -505,11 +505,11 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig { @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "[String:" + getTypeDeclaration(inner) + "]"; } @@ -601,18 +601,18 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig { public String toDefaultValue(Schema p) { if (p.getEnum() != null && !p.getEnum().isEmpty()) { if (p.getDefault() != null) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { return "." + toEnumVarName(escapeText((String) p.getDefault()), p.getType()); } else { return "." + toEnumVarName(escapeText(p.getDefault().toString()), p.getType()); } } } - if (ModelUtils.isIntegerSchema(p) || ModelUtils.isNumberSchema(p) || ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isIntegerSchema(p) || modelUtils.isNumberSchema(p) || modelUtils.isBooleanSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "\"" + escapeText((String) p.getDefault()) + "\""; } @@ -622,9 +622,9 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig { @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { return getSchemaType(getAdditionalProperties(p)); - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); return "[" + inner + "]"; @@ -737,7 +737,7 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig { @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (codegenModel.description != null) { codegenModel.imports.add("ApiModel"); 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 10f44a3f937..c585f460a13 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 @@ -516,11 +516,11 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); - return ModelUtils.isSet(p) ? "Set<" + getTypeDeclaration(inner) + ">" : "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { + return modelUtils.isSet(p) ? "Set<" + getTypeDeclaration(inner) + ">" : "[" + getTypeDeclaration(inner) + "]"; + } else if (modelUtils.isMapSchema(p)) { Schema inner = getAdditionalProperties(p); return "[String:" + getTypeDeclaration(inner) + "]"; } @@ -612,7 +612,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig public String toDefaultValue(Schema p) { if (p.getEnum() != null && !p.getEnum().isEmpty()) { if (p.getDefault() != null) { - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { return "." + toEnumVarName(escapeText((String) p.getDefault()), p.getType()); } else { return "." + toEnumVarName(escapeText(p.getDefault().toString()), p.getType()); @@ -620,15 +620,15 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig } } if (p.getDefault() != null) { - if (ModelUtils.isIntegerSchema(p) || ModelUtils.isNumberSchema(p) || ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isIntegerSchema(p) || modelUtils.isNumberSchema(p) || modelUtils.isBooleanSchema(p)) { return p.getDefault().toString(); - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { // Datetime time stamps in Swift are expressed as Seconds with Microsecond precision. // In Java, we need to be creative to get the Timestamp in Microseconds as a long. Instant instant = ((OffsetDateTime) p.getDefault()).toInstant(); long epochMicro = TimeUnit.SECONDS.toMicros(instant.getEpochSecond()) + ((long) instant.get(ChronoField.MICRO_OF_SECOND)); return "Date(timeIntervalSince1970: " + String.valueOf(epochMicro) + ".0 / 1_000_000)"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { return "\"" + escapeText((String) p.getDefault()) + "\""; } // TODO: Handle more cases from `ModelUtils`, such as Date @@ -638,12 +638,12 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String toInstantiationType(Schema p) { - if (ModelUtils.isMapSchema(p)) { + if (modelUtils.isMapSchema(p)) { return getSchemaType(getAdditionalProperties(p)); - } else if (ModelUtils.isArraySchema(p)) { + } else if (modelUtils.isArraySchema(p)) { ArraySchema ap = (ArraySchema) p; String inner = getSchemaType(ap.getItems()); - return ModelUtils.isSet(p) ? "Set<" + inner + ">" : "[" + inner + "]"; + return modelUtils.isSet(p) ? "Set<" + inner + ">" : "[" + inner + "]"; } return null; } @@ -753,7 +753,7 @@ public class Swift5ClientCodegen extends DefaultCodegen implements CodegenConfig @Override public CodegenModel fromModel(String name, Schema model) { - Map allDefinitions = ModelUtils.getSchemas(this.openAPI); + Map allDefinitions = modelUtils.getSchemas(); CodegenModel codegenModel = super.fromModel(name, model); if (codegenModel.description != null) { codegenModel.imports.add("ApiModel"); 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 20f6ebe614b..34a1f8853d8 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 @@ -362,7 +362,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { return "Blob"; } else { return super.getTypeDeclaration(p); 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 9e6d5264c8c..74c0c29b237 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 @@ -424,24 +424,24 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo protected String getParameterDataType(Parameter parameter, Schema p) { // handle enums of various data types Schema inner; - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { ArraySchema mp1 = (ArraySchema) p; inner = mp1.getItems(); return this.getSchemaType(p) + "<" + this.getParameterDataType(parameter, inner) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + } else if (modelUtils.isMapSchema(p)) { inner = (Schema) p.getAdditionalProperties(); return "{ [key: string]: " + this.getParameterDataType(parameter, inner) + "; }"; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { // Handle string enums if (p.getEnum() != null) { return enumValuesToEnumTypeUnion(p.getEnum(), "string"); } - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { // Handle integer enums if (p.getEnum() != null) { return numericEnumValuesToEnumTypeUnion(new ArrayList(p.getEnum())); } - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { // Handle double enums if (p.getEnum() != null) { return numericEnumValuesToEnumTypeUnion(new ArrayList(p.getEnum())); @@ -488,23 +488,23 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public String toDefaultValue(Schema p) { - if (ModelUtils.isBooleanSchema(p)) { + if (modelUtils.isBooleanSchema(p)) { return UNDEFINED_VALUE; - } else if (ModelUtils.isDateSchema(p)) { + } else if (modelUtils.isDateSchema(p)) { return UNDEFINED_VALUE; - } else if (ModelUtils.isDateTimeSchema(p)) { + } else if (modelUtils.isDateTimeSchema(p)) { return UNDEFINED_VALUE; - } else if (ModelUtils.isNumberSchema(p)) { + } else if (modelUtils.isNumberSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isIntegerSchema(p)) { + } else if (modelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString(); } return UNDEFINED_VALUE; - } else if (ModelUtils.isStringSchema(p)) { + } else if (modelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + (String) p.getDefault() + "'"; } @@ -837,15 +837,15 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo @Override public String getTypeDeclaration(Schema p) { Schema inner; - if (ModelUtils.isArraySchema(p)) { + if (modelUtils.isArraySchema(p)) { inner = ((ArraySchema) p).getItems(); - return this.getSchemaType(p) + "<" + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + ">"; - } else if (ModelUtils.isMapSchema(p)) { + return this.getSchemaType(p) + "<" + this.getTypeDeclaration(modelUtils.unaliasSchema(inner)) + ">"; + } else if (modelUtils.isMapSchema(p)) { inner = (Schema) p.getAdditionalProperties(); - return "{ [key: string]: " + this.getTypeDeclaration(ModelUtils.unaliasSchema(this.openAPI, inner)) + "; }"; - } else if (ModelUtils.isFileSchema(p)) { + return "{ [key: string]: " + this.getTypeDeclaration(modelUtils.unaliasSchema(inner)) + "; }"; + } else if (modelUtils.isFileSchema(p)) { return "HttpFile"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "any"; } else { return super.getTypeDeclaration(p); 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 cf591520be9..ce7292e09fc 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 @@ -166,9 +166,9 @@ public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodege @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { return "Blob"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "Blob"; } return super.getTypeDeclaration(p); 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 6e4e2fad7b1..e6d674ca38b 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 @@ -94,7 +94,7 @@ public class TypeScriptJqueryClientCodegen extends AbstractTypeScriptClientCodeg @Override public String getSchemaType(Schema p) { String openAPIType = super.getSchemaType(p); - if (ModelUtils.isStringSchema(p)) { + if (modelUtils.isStringSchema(p)) { if (p.getEnum() != null) { return openAPIType; } 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 0016d23595d..4c3adb8fff9 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 @@ -87,14 +87,14 @@ public class TypeScriptNodeClientCodegen extends AbstractTypeScriptClientCodegen @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { // There are two file types: // 1) RequestFile: the parameter for the request lib when uploading a file // (https://github.com/request/request#multipartform-data-multipart-form-uploads) // 2) Buffer: for downloading files. // Use RequestFile as a default. The return type is fixed to Buffer in handleMethodResponse. return "RequestFile"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "Buffer"; } return super.getTypeDeclaration(p); 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 3a2ce5bd90b..b640cfedba7 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 @@ -107,9 +107,9 @@ public class TypeScriptReduxQueryClientCodegen extends AbstractTypeScriptClientC @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { return "Blob"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "Blob"; } return super.getTypeDeclaration(p); 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 2561e1b76fe..7bfbc527d0d 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 @@ -108,9 +108,9 @@ public class TypeScriptRxjsClientCodegen extends AbstractTypeScriptClientCodegen @Override public String getTypeDeclaration(Schema p) { - if (ModelUtils.isFileSchema(p)) { + if (modelUtils.isFileSchema(p)) { return "Blob"; - } else if (ModelUtils.isBinarySchema(p)) { + } else if (modelUtils.isBinarySchema(p)) { return "Blob"; } return super.getTypeDeclaration(p); 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 270f0bc2609..aa2f5866192 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 @@ -252,27 +252,27 @@ public class ModelUtils { if (allOperations != null) { for (Operation operation : allOperations) { //Params: - visitParameters(openAPI, operation.getParameters(), visitor, visitedSchemas); + visitParameters(operation.getParameters(), visitor, visitedSchemas); //RequestBody: - RequestBody requestBody = getReferencedRequestBody(openAPI, operation.getRequestBody()); + RequestBody requestBody = getReferencedRequestBody(operation.getRequestBody()); if (requestBody != null) { - visitContent(openAPI, requestBody.getContent(), visitor, visitedSchemas); + visitContent(requestBody.getContent(), visitor, visitedSchemas); } //Responses: if (operation.getResponses() != null) { for (ApiResponse r : operation.getResponses().values()) { - ApiResponse apiResponse = getReferencedApiResponse(openAPI, r); + ApiResponse apiResponse = getReferencedApiResponse(r); if (apiResponse != null) { - visitContent(openAPI, apiResponse.getContent(), visitor, visitedSchemas); + visitContent(apiResponse.getContent(), visitor, visitedSchemas); if (apiResponse.getHeaders() != null) { for (Entry e : apiResponse.getHeaders().entrySet()) { Header header = getReferencedHeader(e.getValue()); if (header.getSchema() != null) { visitSchema(header.getSchema(), e.getKey(), visitedSchemas, visitor); } - visitContent(openAPI, header.getContent(), visitor, visitedSchemas); + visitContent(header.getContent(), visitor, visitedSchemas); } } } @@ -282,7 +282,7 @@ public class ModelUtils { //Callbacks: if (operation.getCallbacks() != null) { for (Callback c : operation.getCallbacks().values()) { - Callback callback = getReferencedCallback(openAPI, c); + Callback callback = getReferencedCallback(c); if (callback != null) { for (PathItem p : callback.values()) { visitPathItem(p, openAPI, visitor, visitedSchemas); @@ -293,19 +293,19 @@ public class ModelUtils { } } //Params: - visitParameters(openAPI, pathItem.getParameters(), visitor, visitedSchemas); + visitParameters(pathItem.getParameters(), visitor, visitedSchemas); } - private void visitParameters(OpenAPI openAPI, List parameters, OpenAPISchemaVisitor visitor, + private void visitParameters(List parameters, OpenAPISchemaVisitor visitor, List visitedSchemas) { if (parameters != null) { for (Parameter p : parameters) { - Parameter parameter = getReferencedParameter(openAPI, p); + Parameter parameter = getReferencedParameter(p); if (parameter != null) { if (parameter.getSchema() != null) { visitSchema(parameter.getSchema(), null, visitedSchemas, visitor); } - visitContent(openAPI, parameter.getContent(), visitor, visitedSchemas); + visitContent(parameter.getContent(), visitor, visitedSchemas); } else { once(LOGGER).warn("Unreferenced parameter(s) found."); } @@ -313,7 +313,7 @@ public class ModelUtils { } } - private void visitContent(OpenAPI openAPI, Content content, OpenAPISchemaVisitor visitor, List visitedSchemas) { + private void visitContent(Content content, OpenAPISchemaVisitor visitor, List visitedSchemas) { if (content != null) { for (Entry e : content.entrySet()) { if (e.getValue().getSchema() != null) { @@ -834,14 +834,13 @@ public class ModelUtils { /** * If a Schema contains a reference to another Schema with '$ref', returns the referenced Schema if it is found or the actual Schema in the other cases. * - * @param openAPI specification being checked * @param schema potentially containing a '$ref' * @return schema without '$ref' */ - public Schema getReferencedSchema(OpenAPI openAPI, Schema schema) { + public Schema getReferencedSchema(Schema schema) { if (schema != null && StringUtils.isNotEmpty(schema.get$ref())) { String name = getSimpleRef(schema.get$ref()); - Schema referencedSchema = getSchema(openAPI, name); + Schema referencedSchema = getSchema(name); if (referencedSchema != null) { return referencedSchema; } @@ -849,7 +848,7 @@ public class ModelUtils { return schema; } - public Schema getSchema(OpenAPI openAPI, String name) { + public Schema getSchema(String name) { if (name == null) { return null; } @@ -894,14 +893,13 @@ public class ModelUtils { /** * If a RequestBody contains a reference to an other RequestBody with '$ref', returns the referenced RequestBody if it is found or the actual RequestBody in the other cases. * - * @param openAPI specification being checked * @param requestBody potentially containing a '$ref' * @return requestBody without '$ref' */ - public RequestBody getReferencedRequestBody(OpenAPI openAPI, RequestBody requestBody) { + public RequestBody getReferencedRequestBody(RequestBody requestBody) { if (requestBody != null && StringUtils.isNotEmpty(requestBody.get$ref())) { String name = getSimpleRef(requestBody.get$ref()); - RequestBody referencedRequestBody = getRequestBody(openAPI, name); + RequestBody referencedRequestBody = getRequestBody(name); if (referencedRequestBody != null) { return referencedRequestBody; } @@ -909,7 +907,7 @@ public class ModelUtils { return requestBody; } - public RequestBody getRequestBody(OpenAPI openAPI, String name) { + public RequestBody getRequestBody(String name) { if (name == null) { return null; } @@ -923,14 +921,13 @@ public class ModelUtils { /** * If a ApiResponse contains a reference to an other ApiResponse with '$ref', returns the referenced ApiResponse if it is found or the actual ApiResponse in the other cases. * - * @param openAPI specification being checked * @param apiResponse potentially containing a '$ref' * @return apiResponse without '$ref' */ - public ApiResponse getReferencedApiResponse(OpenAPI openAPI, ApiResponse apiResponse) { + public ApiResponse getReferencedApiResponse(ApiResponse apiResponse) { if (apiResponse != null && StringUtils.isNotEmpty(apiResponse.get$ref())) { String name = getSimpleRef(apiResponse.get$ref()); - ApiResponse referencedApiResponse = getApiResponse(openAPI, name); + ApiResponse referencedApiResponse = getApiResponse(name); if (referencedApiResponse != null) { return referencedApiResponse; } @@ -938,7 +935,7 @@ public class ModelUtils { return apiResponse; } - public ApiResponse getApiResponse(OpenAPI openAPI, String name) { + public ApiResponse getApiResponse(String name) { if (name == null) { return null; } @@ -952,14 +949,13 @@ public class ModelUtils { /** * If a Parameter contains a reference to an other Parameter with '$ref', returns the referenced Parameter if it is found or the actual Parameter in the other cases. * - * @param openAPI specification being checked * @param parameter potentially containing a '$ref' * @return parameter without '$ref' */ - public Parameter getReferencedParameter(OpenAPI openAPI, Parameter parameter) { + public Parameter getReferencedParameter(Parameter parameter) { if (parameter != null && StringUtils.isNotEmpty(parameter.get$ref())) { String name = getSimpleRef(parameter.get$ref()); - Parameter referencedParameter = getParameter(openAPI, name); + Parameter referencedParameter = getParameter(name); if (referencedParameter != null) { return referencedParameter; } @@ -967,7 +963,7 @@ public class ModelUtils { return parameter; } - public Parameter getParameter(OpenAPI openAPI, String name) { + public Parameter getParameter(String name) { if (name == null) { return null; } @@ -981,14 +977,13 @@ public class ModelUtils { /** * If a Callback contains a reference to an other Callback with '$ref', returns the referenced Callback if it is found or the actual Callback in the other cases. * - * @param openAPI specification being checked * @param callback potentially containing a '$ref' * @return callback without '$ref' */ - public Callback getReferencedCallback(OpenAPI openAPI, Callback callback) { + public Callback getReferencedCallback(Callback callback) { if (callback != null && StringUtils.isNotEmpty(callback.get$ref())) { String name = getSimpleRef(callback.get$ref()); - Callback referencedCallback = getCallback(openAPI, name); + Callback referencedCallback = getCallback(name); if (referencedCallback != null) { return referencedCallback; } @@ -996,7 +991,7 @@ public class ModelUtils { return callback; } - public Callback getCallback(OpenAPI openAPI, String name) { + public Callback getCallback(String name) { if (name == null) { return null; } @@ -1567,13 +1562,12 @@ public class ModelUtils { * For OAS 2.0 documents, return the value of the 'swagger' attribute. * For OAS 3.x documents, return the value of the 'openapi' attribute. * - * @param openAPI the object that encapsulates the OAS document. * @param location the URL of the OAS document. * @param auths the list of authorization values to access the remote URL. * * @return the version of the OpenAPI document. */ - public SemVer getOpenApiVersion(OpenAPI openAPI, String location, List auths) { + public SemVer getOpenApiVersion(String location, List auths) { String version; try { JsonNode document = readWithInfo(location, auths); @@ -1616,7 +1610,7 @@ public class ModelUtils { * @param schema the OAS schema. * @return true if the schema value can be an arbitrary type. */ - public boolean isAnyTypeSchema(OpenAPI openAPI, Schema schema) { + public boolean isAnyTypeSchema(Schema schema) { if (schema == null) { once(LOGGER).error("Schema cannot be null in isAnyTypeSchema check"); return false; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiEvaluator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiEvaluator.java index 56097b74d0f..5584726488d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiEvaluator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiEvaluator.java @@ -43,14 +43,16 @@ public class OpenApiEvaluator implements Validator { OpenApiSchemaValidations schemaValidations = new OpenApiSchemaValidations(ruleConfiguration); OpenApiOperationValidations operationValidations = new OpenApiOperationValidations(ruleConfiguration); + ModelUtils modelUtils = new ModelUtils(specification); + if (ruleConfiguration.isEnableUnusedSchemasRecommendation()) { ValidationRule unusedSchema = ValidationRule.create(Severity.WARNING, "Unused schema", "A schema was determined to be unused.", s -> ValidationRule.Pass.empty()); - ModelUtils.getUnusedSchemas(specification).forEach(schemaName -> validationResult.addResult(Validated.invalid(unusedSchema, "Unused model: " + schemaName))); + modelUtils.getUnusedSchemas().forEach(schemaName -> validationResult.addResult(Validated.invalid(unusedSchema, "Unused model: " + schemaName))); } // Get list of all schemas under /components/schemas, including nested schemas defined inline and composed schema. // The validators must be able to validate every schema defined in the OAS document. - List schemas = ModelUtils.getAllSchemas(specification); + List schemas = modelUtils.getAllSchemas(specification); schemas.forEach(schema -> { SchemaWrapper wrapper = new SchemaWrapper(specification, schema); validationResult.consume(schemaValidations.validate(wrapper)); @@ -95,7 +97,7 @@ public class OpenApiEvaluator implements Validator { } parameters.forEach(parameter -> { - parameter = ModelUtils.getReferencedParameter(specification, parameter); + parameter = modelUtils.getReferencedParameter(parameter); ParameterWrapper wrapper = new ParameterWrapper(specification, parameter); validationResult.consume(parameterValidations.validate(wrapper)); }); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiSchemaValidations.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiSchemaValidations.java index 43d68ae1af3..c70d8babf9e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiSchemaValidations.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/validations/oas/OpenApiSchemaValidations.java @@ -92,7 +92,7 @@ class OpenApiSchemaValidations extends GenericValidator { * Note: the validator invokes checkNullType() for every top-level schema in the OAS document. The method * is not called for nested schemas that are defined inline. * - * @param schema An input schema, regardless of the type of schema. + * @param schemaWrapper An input schema, regardless of the type of schema. * @return {@link ValidationRule.Pass} if the check succeeds, otherwise {@link ValidationRule.Fail} */ private static ValidationRule.Result checkNullType(SchemaWrapper schemaWrapper) { @@ -102,7 +102,8 @@ class OpenApiSchemaValidations extends GenericValidator { SemVer version = new SemVer(schemaWrapper.getOpenAPI().getOpenapi()); if (version.atLeast("3.0") && version.compareTo(new SemVer("3.1")) < 0) { // OAS spec is 3.0.x - if (ModelUtils.isNullType(schema)) { + ModelUtils modelUtils = new ModelUtils(null); + if (modelUtils.isNullType(schema)) { result = new ValidationRule.Fail(); String name = schema.getName(); if (name == null) { @@ -123,7 +124,7 @@ class OpenApiSchemaValidations extends GenericValidator { *

* The 'nullable' attribute is supported in OpenAPI Specification 3.0.x, but it is deprecated in OpenAPI 3.1 and above. * - * @param schema An input schema, regardless of the type of schema + * @param schemaWrapper An input schema, regardless of the type of schema * @return {@link ValidationRule.Pass} if the check succeeds, otherwise {@link ValidationRule.Fail} */ private static ValidationRule.Result checkNullableAttribute(SchemaWrapper schemaWrapper) { @@ -132,7 +133,8 @@ class OpenApiSchemaValidations extends GenericValidator { if (schemaWrapper.getOpenAPI() != null) { SemVer version = new SemVer(schemaWrapper.getOpenAPI().getOpenapi()); if (version.atLeast("3.1")) { - if (ModelUtils.isNullable(schema)) { + ModelUtils modelUtils = new ModelUtils(null); + if (modelUtils.isNullable(schema)) { result = new ValidationRule.Fail(); String name = schema.getName(); if (name == null) { @@ -157,7 +159,7 @@ class OpenApiSchemaValidations extends GenericValidator { *

* The type must be one of the following values: null, boolean, object, array, number, string, integer. * - * @param schema An input schema, regardless of the type of schema + * @param schemaWrapper An input schema, regardless of the type of schema * @return {@link ValidationRule.Pass} if the check succeeds, otherwise {@link ValidationRule.Fail} */ private static ValidationRule.Result checkInvalidType(SchemaWrapper schemaWrapper) { 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 cef1d10be35..9570ae98e84 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 @@ -76,8 +76,8 @@ public class DefaultCodegenTest { final DefaultCodegen codegen = new DefaultCodegen(); - Assert.assertEquals(codegen.hasBodyParameter(openAPI, pingOperation), false); - Assert.assertEquals(codegen.hasBodyParameter(openAPI, createOperation), true); + Assert.assertEquals(codegen.hasBodyParameter(pingOperation), false); + Assert.assertEquals(codegen.hasBodyParameter(createOperation), true); } @Test(expectedExceptions = RuntimeException.class) @@ -110,13 +110,13 @@ public class DefaultCodegenTest { .responses( new ApiResponses().addApiResponse("201", new ApiResponse() .description("Created response"))); - Set createConsumesInfo = DefaultCodegen.getConsumesInfo(openAPI, createOperation); + final DefaultCodegen codegen = new DefaultCodegen(); + Set createConsumesInfo = codegen.getConsumesInfo(createOperation); Assert.assertEquals(createConsumesInfo.size(), 2); Assert.assertTrue(createConsumesInfo.contains("application/json"), "contains 'application/json'"); Assert.assertTrue(createConsumesInfo.contains("application/xml"), "contains 'application/xml'"); - Set createProducesInfo = DefaultCodegen.getProducesInfo(openAPI, createOperation); + Set createProducesInfo = codegen.getProducesInfo(createOperation); Assert.assertEquals(createProducesInfo.size(), 0); - final DefaultCodegen codegen = new DefaultCodegen(); codegen.setOpenAPI(openAPI); CodegenOperation coCreate = codegen.fromOperation("somepath", "post", createOperation, null); Assert.assertTrue(coCreate.hasConsumes); @@ -126,10 +126,10 @@ public class DefaultCodegenTest { Operation updateOperationWithRef = new Operation() .requestBody(new RequestBody().$ref("#/components/requestBodies/MyRequestBody")) .responses(new ApiResponses().addApiResponse("201", new ApiResponse().$ref("#/components/responses/MyResponse"))); - Set updateConsumesInfo = DefaultCodegen.getConsumesInfo(openAPI, updateOperationWithRef); + Set updateConsumesInfo = codegen.getConsumesInfo(updateOperationWithRef); Assert.assertEquals(updateConsumesInfo.size(), 1); Assert.assertTrue(updateConsumesInfo.contains("application/json"), "contains 'application/json'"); - Set updateProducesInfo = DefaultCodegen.getProducesInfo(openAPI, updateOperationWithRef); + Set updateProducesInfo = codegen.getProducesInfo(updateOperationWithRef); Assert.assertEquals(updateProducesInfo.size(), 1); Assert.assertTrue(updateProducesInfo.contains("application/xml"), "contains 'application/xml'"); @@ -218,7 +218,7 @@ public class DefaultCodegenTest { final DefaultCodegen codegen = new DefaultCodegen(); codegen.setOpenAPI(openAPI); - Schema requestBodySchema = ModelUtils.getSchemaFromRequestBody(openAPI.getPaths().get("/fake").getGet().getRequestBody()); + Schema requestBodySchema = codegen.getModelUtils().getSchemaFromRequestBody(openAPI.getPaths().get("/fake").getGet().getRequestBody()); CodegenParameter codegenParameter = codegen.fromFormProperty("enum_form_string", (Schema) requestBodySchema.getProperties().get("enum_form_string"), new HashSet()); Assert.assertEquals(codegenParameter.defaultValue, "-efg"); @@ -229,13 +229,14 @@ public class DefaultCodegenTest { // Test with OAS 2.0 document. String location = "src/test/resources/2_0/python-client-experimental/petstore-with-fake-endpoints-models-for-testing.yaml"; OpenAPI openAPI = TestUtils.parseFlattenSpec(location); - SemVer version = ModelUtils.getOpenApiVersion(openAPI, location, null); + ModelUtils modelUtils = new ModelUtils(openAPI); + SemVer version = modelUtils.getOpenApiVersion(location, null); Assert.assertEquals(version, new SemVer("2.0.0")); // Test with OAS 3.0 document. location = "src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml"; openAPI = TestUtils.parseFlattenSpec(location); - version = ModelUtils.getOpenApiVersion(openAPI, location, null); + version = modelUtils.getOpenApiVersion(location, null); Assert.assertEquals(version, new SemVer("3.0.0")); } @@ -245,11 +246,12 @@ public class DefaultCodegenTest { DefaultCodegen codegen = new DefaultCodegen(); codegen.setOpenAPI(openAPI); codegen.setDisallowAdditionalPropertiesIfNotPresent(true); + ModelUtils modelUtils = new ModelUtils(openAPI); Schema schema = openAPI.getComponents().getSchemas().get("AdditionalPropertiesClass"); Assert.assertEquals(schema.getAdditionalProperties(), null); - 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); @@ -275,7 +277,7 @@ public class DefaultCodegenTest { // We cannot differentiate between 'additionalProperties' not present and // additionalProperties: true. Assert.assertNull(child.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNull(addProps); child = m.get("map_without_additional_properties"); @@ -286,7 +288,7 @@ public class DefaultCodegenTest { // We cannot differentiate between 'additionalProperties' not present and // additionalProperties: false. Assert.assertNull(child.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNull(addProps); } @@ -296,13 +298,14 @@ public class DefaultCodegenTest { DefaultCodegen codegen = new DefaultCodegen(); codegen.setDisallowAdditionalPropertiesIfNotPresent(false); codegen.setOpenAPI(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); Schema schema = openAPI.getComponents().getSchemas().get("AdditionalPropertiesClass"); Assert.assertNull(schema.getAdditionalProperties()); // When the 'additionalProperties' keyword is not present, the schema may be // extended with any undeclared properties. - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, schema); + Schema addProps = modelUtils.getAdditionalProperties(schema); Assert.assertNotNull(addProps); Assert.assertTrue(addProps instanceof ObjectSchema); CodegenModel cm = codegen.fromModel("AdditionalPropertiesClass", schema); @@ -320,7 +323,7 @@ public class DefaultCodegenTest { // which means by default undeclared properties are allowed. Assert.assertNotNull(child); Assert.assertNull(child.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNotNull(addProps); Assert.assertTrue(addProps instanceof ObjectSchema); @@ -329,7 +332,7 @@ public class DefaultCodegenTest { // which means by default undeclared properties are allowed. Assert.assertNotNull(child); Assert.assertNull(child.getAdditionalProperties()); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNotNull(addProps); Assert.assertTrue(addProps instanceof ObjectSchema); @@ -341,7 +344,7 @@ public class DefaultCodegenTest { // additionalProperties: true. Assert.assertNotNull(child.getAdditionalProperties()); Assert.assertEquals(child.getAdditionalProperties(), Boolean.TRUE); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNotNull(addProps); Assert.assertTrue(addProps instanceof ObjectSchema); @@ -353,7 +356,7 @@ public class DefaultCodegenTest { // additionalProperties: false. Assert.assertNotNull(child.getAdditionalProperties()); Assert.assertEquals(child.getAdditionalProperties(), Boolean.FALSE); - addProps = ModelUtils.getAdditionalProperties(openAPI, child); + addProps = modelUtils.getAdditionalProperties(child); Assert.assertNull(addProps); } @@ -371,7 +374,7 @@ public class DefaultCodegenTest { // extended with any undeclared properties. // However, in legacy 'additionalProperties' mode, this is interpreted as // 'no additional properties are allowed'. - Schema addProps = ModelUtils.getAdditionalProperties(openAPI, schema); + Schema addProps = codegen.getModelUtils().getAdditionalProperties(schema); Assert.assertNull(addProps); } @@ -430,7 +433,7 @@ public class DefaultCodegenTest { final DefaultCodegen codegen = new DefaultCodegen(); Operation operation = openAPI.getPaths().get("/state").getPost(); - Schema schema = ModelUtils.getSchemaFromRequestBody(operation.getRequestBody()); + Schema schema = codegen.getModelUtils().getSchemaFromRequestBody(operation.getRequestBody()); String type = codegen.getSchemaType(schema); Assert.assertNotNull(type); @@ -1347,7 +1350,7 @@ public class DefaultCodegenTest { // for us to check a model's children we need to run generator.generateModels // because children are assigned in config.updateAllModels which is invoked in generator.generateModels List files = new ArrayList<>(); - List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); + List filteredSchemas = generator.getModelUtils().getSchemasUsedOnlyInFormParam(); List allModels = new ArrayList<>(); generator.generateModels(files, allModels, filteredSchemas); @@ -2401,7 +2404,7 @@ public class DefaultCodegenTest { CodegenProperty mapWithAddPropsSchema; // make sure isGenerateAliasAsModel is false - boolean isGenerateAliasAsModel = ModelUtils.isGenerateAliasAsModel(); + boolean isGenerateAliasAsModel = codegen.getModelUtils().isGenerateAliasAsModel(); if (isGenerateAliasAsModel) { GlobalSettings.setProperty("generateAliasAsModel", "false"); } @@ -2454,7 +2457,7 @@ public class DefaultCodegenTest { CodegenParameter mapWithAddPropsSchema; // make sure isGenerateAliasAsModel is false - boolean isGenerateAliasAsModel = ModelUtils.isGenerateAliasAsModel(); + boolean isGenerateAliasAsModel = codegen.getModelUtils().isGenerateAliasAsModel(); if (isGenerateAliasAsModel) { GlobalSettings.setProperty("generateAliasAsModel", "false"); } @@ -2507,7 +2510,7 @@ public class DefaultCodegenTest { CodegenResponse mapWithAddPropsSchema; // make sure isGenerateAliasAsModel is false - boolean isGenerateAliasAsModel = ModelUtils.isGenerateAliasAsModel(); + boolean isGenerateAliasAsModel = codegen.getModelUtils().isGenerateAliasAsModel(); if (isGenerateAliasAsModel) { GlobalSettings.setProperty("generateAliasAsModel", "false"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java index 8ac2fe4a512..8eb2c284095 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java @@ -394,6 +394,8 @@ public class DefaultGeneratorTest { @Test public void testRefModelValidationProperties() { OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/2_0/refAliasedPrimitiveWithValidation.yml"); + ModelUtils modelUtils = new ModelUtils(openAPI); + ClientOptInput opts = new ClientOptInput(); opts.openAPI(openAPI); DefaultCodegen config = new DefaultCodegen(); @@ -412,7 +414,7 @@ public class DefaultGeneratorTest { Assert.assertEquals(stringRegex.getPattern(), expectedPattern); // Validate when we alias/unalias - Schema unaliasedStringRegex = ModelUtils.unaliasSchema(openAPI, stringRegex); + Schema unaliasedStringRegex = modelUtils.unaliasSchema(stringRegex); Assert.assertEquals(unaliasedStringRegex.getPattern(), expectedPattern); // Validate when converting to property diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java index e612f985de3..a0a9e359c20 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/InlineModelResolverTest.java @@ -351,6 +351,7 @@ public class InlineModelResolverTest { public void resolveInlineRequestBody() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); RequestBody requestBodyReference = openAPI .getPaths() @@ -359,15 +360,15 @@ public class InlineModelResolverTest { .getRequestBody(); assertNotNull(requestBodyReference.get$ref()); - RequestBody requestBody = ModelUtils.getReferencedRequestBody(openAPI, requestBodyReference); + RequestBody requestBody = modelUtils.getReferencedRequestBody(requestBodyReference); MediaType mediaType = requestBody.getContent().get("application/json"); - assertTrue(ModelUtils.getReferencedSchema(openAPI, mediaType.getSchema()) instanceof ObjectSchema); + assertTrue(modelUtils.getReferencedSchema(mediaType.getSchema()) instanceof ObjectSchema); - ObjectSchema schema = (ObjectSchema) ModelUtils.getReferencedSchema(openAPI, mediaType.getSchema()); + ObjectSchema schema = (ObjectSchema) modelUtils.getReferencedSchema(mediaType.getSchema()); assertTrue(schema.getProperties().get("name") instanceof StringSchema); assertNotNull(schema.getProperties().get("address").get$ref()); - Schema address = ModelUtils.getReferencedSchema(openAPI, schema.getProperties().get("address")); + Schema address = modelUtils.getReferencedSchema(schema.getProperties().get("address")); assertTrue(address.getProperties().get("street") instanceof StringSchema); } @@ -375,11 +376,12 @@ public class InlineModelResolverTest { public void resolveInlineRequestBodyWithRequired() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); RequestBody requestBodyReference = openAPI.getPaths().get("/resolve_inline_request_body_with_required").getPost().getRequestBody(); assertTrue(requestBodyReference.getRequired()); - RequestBody referencedRequestBody = ModelUtils.getReferencedRequestBody(openAPI, requestBodyReference); + RequestBody referencedRequestBody = modelUtils.getReferencedRequestBody(requestBodyReference); assertTrue(referencedRequestBody.getRequired()); } @@ -414,6 +416,7 @@ public class InlineModelResolverTest { public void resolveInlineArrayRequestBody() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -429,7 +432,7 @@ public class InlineModelResolverTest { assertNotNull(requestBody.getItems().get$ref()); assertEquals("#/components/schemas/InlineObject", requestBody.getItems().get$ref()); - Schema items = ModelUtils.getReferencedSchema(openAPI, ((ArraySchema) mediaType.getSchema()).getItems()); + Schema items = modelUtils.getReferencedSchema(((ArraySchema) mediaType.getSchema()).getItems()); assertTrue(items.getProperties().get("street") instanceof StringSchema); assertTrue(items.getProperties().get("city") instanceof StringSchema); } @@ -456,6 +459,7 @@ public class InlineModelResolverTest { public void resolveInlineArrayResponse() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -471,7 +475,7 @@ public class InlineModelResolverTest { ArraySchema responseSchema = (ArraySchema) mediaType.getSchema(); assertEquals("#/components/schemas/inline_response_200", responseSchema.getItems().get$ref()); - Schema items = ModelUtils.getReferencedSchema(openAPI, responseSchema.getItems()); + Schema items = modelUtils.getReferencedSchema(responseSchema.getItems()); assertTrue(items.getProperties().get("array_response_property") instanceof StringSchema); } @@ -497,6 +501,7 @@ public class InlineModelResolverTest { public void resolveInlineObjectResponseWithAdditionalProperties() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -511,7 +516,7 @@ public class InlineModelResolverTest { Object additionalPropertiesObject = mediaType.getSchema().getAdditionalProperties(); assertTrue(additionalPropertiesObject instanceof Schema); - Schema additionalProperties = ModelUtils.getReferencedSchema(openAPI, (Schema)additionalPropertiesObject); + Schema additionalProperties = modelUtils.getReferencedSchema((Schema)additionalPropertiesObject); assertNotNull(additionalProperties); assertTrue(additionalProperties.getProperties().get("resolve_inline_object_response_with_additional_properties") instanceof StringSchema); } @@ -547,6 +552,7 @@ public class InlineModelResolverTest { ); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -562,14 +568,14 @@ public class InlineModelResolverTest { assertNotNull(additionalProperties.get$ref()); assertTrue(additionalProperties.get$ref().startsWith("#/components/schemas/inline_response_")); - Schema referencedSchema = ModelUtils.getReferencedSchema(openAPI, additionalProperties); + Schema referencedSchema = modelUtils.getReferencedSchema(additionalProperties); Schema referencedSchemaProperty = (Schema) referencedSchema.getProperties().get("resolve_inline_map_schema_in_response_property"); assertEquals( "#/components/schemas/_resolve_inline_map_schema_in_response_resolve_inline_map_schema_in_response_property", referencedSchemaProperty.get$ref() ); - assertNotNull(ModelUtils.getReferencedSchema(openAPI, referencedSchemaProperty)); + assertNotNull(modelUtils.getReferencedSchema(referencedSchemaProperty)); } @Test @@ -631,6 +637,7 @@ public class InlineModelResolverTest { public void arbitraryRequestBodyArrayProperty() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -645,7 +652,7 @@ public class InlineModelResolverTest { ArraySchema requestBodySchema = (ArraySchema) mediaType.getSchema(); assertNotNull(requestBodySchema.getItems().get$ref()); - Schema referencedSchema = ModelUtils.getReferencedSchema(openAPI, requestBodySchema.getItems()); + Schema referencedSchema = modelUtils.getReferencedSchema(requestBodySchema.getItems()); assertTrue(referencedSchema.getProperties().get("arbitrary_request_body_array_property") instanceof ObjectSchema); } @@ -690,6 +697,7 @@ public class InlineModelResolverTest { public void arbitraryObjectResponseArrayInline() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -704,7 +712,7 @@ public class InlineModelResolverTest { ArraySchema schema = (ArraySchema) mediaType.getSchema(); assertNotNull(schema.getItems().get$ref()); - Schema referencedSchema = ModelUtils.getReferencedSchema(openAPI, schema.getItems()); + Schema referencedSchema = modelUtils.getReferencedSchema(schema.getItems()); assertTrue(referencedSchema.getProperties().get("arbitrary_object_response_array_inline") instanceof ObjectSchema); ObjectSchema arbitaryObject = (ObjectSchema) referencedSchema.getProperties().get("arbitrary_object_response_array_inline"); @@ -763,10 +771,11 @@ public class InlineModelResolverTest { private void checkComposedChildren(OpenAPI openAPI, List children, String key) { + ModelUtils modelUtils = new ModelUtils(openAPI); assertNotNull(children); Schema inlined = children.get(0); assertEquals("#/components/schemas/ComposedObjectModelInline_" + key, inlined.get$ref()); - Schema child = ModelUtils.getReferencedSchema(openAPI, inlined); + Schema child = modelUtils.getReferencedSchema(inlined); assertNotNull(child.getProperties()); assertNotNull(child.getProperties().get("composed_object_model_inline_" + key)); } @@ -790,6 +799,7 @@ public class InlineModelResolverTest { public void inheritanceWithInlineDiscriminator() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/2_0/regression_6905.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); assertTrue(openAPI.getComponents().getSchemas().get("PartyType") instanceof StringSchema); assertTrue(openAPI.getComponents().getSchemas().get("CustomerType") instanceof StringSchema); @@ -812,8 +822,8 @@ public class InlineModelResolverTest { // Party ComposedSchema party = (ComposedSchema) openAPI.getComponents().getSchemas().get("Party"); List partySchemas = party.getAllOf(); - Schema entity = ModelUtils.getReferencedSchema(openAPI, partySchemas.get(0)); - Schema partyAllOf = ModelUtils.getReferencedSchema(openAPI, partySchemas.get(1)); + Schema entity = modelUtils.getReferencedSchema(partySchemas.get(0)); + Schema partyAllOf = modelUtils.getReferencedSchema(partySchemas.get(1)); assertEquals(partySchemas.get(0).get$ref(), "#/components/schemas/Entity"); assertEquals(partySchemas.get(1).get$ref(), "#/components/schemas/Party_allOf"); @@ -827,7 +837,7 @@ public class InlineModelResolverTest { // Contact ComposedSchema contact = (ComposedSchema) openAPI.getComponents().getSchemas().get("Contact"); - Schema contactAllOf = ModelUtils.getReferencedSchema(openAPI, contact.getAllOf().get(1)); + Schema contactAllOf = modelUtils.getReferencedSchema(contact.getAllOf().get(1)); assertEquals(contact.getExtensions().get("x-discriminator-value"), "contact"); assertEquals(contact.getAllOf().get(0).get$ref(), "#/components/schemas/Party"); @@ -838,7 +848,7 @@ public class InlineModelResolverTest { // Customer ComposedSchema customer = (ComposedSchema) openAPI.getComponents().getSchemas().get("Customer"); List customerSchemas = customer.getAllOf(); - Schema customerAllOf = ModelUtils.getReferencedSchema(openAPI, customerSchemas.get(1)); + Schema customerAllOf = modelUtils.getReferencedSchema(customerSchemas.get(1)); assertEquals(customerSchemas.get(0).get$ref(), "#/components/schemas/Party"); assertNull(customer.getDiscriminator()); @@ -858,7 +868,7 @@ public class InlineModelResolverTest { // Person ComposedSchema person = (ComposedSchema) openAPI.getComponents().getSchemas().get("Person"); List personSchemas = person.getAllOf(); - Schema personAllOf = ModelUtils.getReferencedSchema(openAPI, personSchemas.get(1)); + Schema personAllOf = modelUtils.getReferencedSchema(personSchemas.get(1)); // Discriminators are not defined at this level in the schema doc assertEquals(personSchemas.get(0).get$ref(), "#/components/schemas/Customer"); @@ -875,7 +885,7 @@ public class InlineModelResolverTest { // Organization ComposedSchema organization = (ComposedSchema) openAPI.getComponents().getSchemas().get("Organization"); List organizationSchemas = organization.getAllOf(); - Schema organizationAllOf = ModelUtils.getReferencedSchema(openAPI, organizationSchemas.get(1)); + Schema organizationAllOf = modelUtils.getReferencedSchema(organizationSchemas.get(1)); // Discriminators are not defined at this level in the schema doc assertEquals(organizationSchemas.get(0).get$ref(), "#/components/schemas/Customer"); @@ -911,6 +921,7 @@ public class InlineModelResolverTest { public void emptyExampleOnStringTypeModels() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); MediaType mediaType = openAPI .getPaths() @@ -926,17 +937,18 @@ public class InlineModelResolverTest { ArraySchema schema = (ArraySchema) mediaType.getSchema(); assertEquals("#/components/schemas/EmptyExampleOnStringTypeModels", schema.getItems().get$ref()); - assertTrue(ModelUtils.getReferencedSchema(openAPI, schema.getItems()) instanceof StringSchema); - assertNull(ModelUtils.getReferencedSchema(openAPI, schema.getItems()).getExample()); + assertTrue(modelUtils.getReferencedSchema(schema.getItems()) instanceof StringSchema); + assertNull(modelUtils.getReferencedSchema(schema.getItems()).getExample()); } @Test public void nullable() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); Schema nullablePropertyReference = (Schema) openAPI.getComponents().getSchemas().get("InlinePropertyIsNullable").getProperties().get("nullable_property"); - Schema nullablePropertySchema = ModelUtils.getReferencedSchema(openAPI, nullablePropertyReference); + Schema nullablePropertySchema = modelUtils.getReferencedSchema(nullablePropertyReference); assertTrue(nullablePropertySchema.getNullable()); @@ -950,7 +962,7 @@ public class InlineModelResolverTest { .getSchema() .getProperties() .get("nullable_request_body_property"); - Schema nullableRequestBodySchema = ModelUtils.getReferencedSchema(openAPI, nullableRequestBodyReference); + Schema nullableRequestBodySchema = modelUtils.getReferencedSchema(nullableRequestBodyReference); assertTrue(nullableRequestBodySchema.getNullable()); } @@ -958,6 +970,7 @@ public class InlineModelResolverTest { public void callbacks() { OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/inline_model_resolver.yaml"); new InlineModelResolver().flatten(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); RequestBody callbackRequestBodyReference = openAPI .getPaths() @@ -973,7 +986,7 @@ public class InlineModelResolverTest { RequestBody resolvedCallbackRequestBody = openAPI .getComponents() .getRequestBodies() - .get(ModelUtils.getSimpleRef(callbackRequestBodyReference.get$ref())); + .get(modelUtils.getSimpleRef(callbackRequestBodyReference.get$ref())); Schema callbackRequestSchemaReference = resolvedCallbackRequestBody .getContent() @@ -984,7 +997,7 @@ public class InlineModelResolverTest { Schema resolvedCallbackSchema = openAPI .getComponents() .getSchemas() - .get(ModelUtils.getSimpleRef(callbackRequestSchemaReference.get$ref())); + .get(modelUtils.getSimpleRef(callbackRequestSchemaReference.get$ref())); Map properties = resolvedCallbackSchema.getProperties(); assertTrue(properties.get("notificationId") instanceof StringSchema); diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/TestUtils.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/TestUtils.java index d510d5fef02..237978dc247 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/TestUtils.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/TestUtils.java @@ -59,17 +59,19 @@ public class TestUtils { */ public static OpenAPI parseSpec(String specFilePath) { OpenAPI openAPI = new OpenAPIParser().readLocation(specFilePath, null, new ParseOptions()).getOpenAPI(); + ModelUtils modelUtils = new ModelUtils(openAPI); // Invoke helper function to get the original swagger version. // See https://github.com/swagger-api/swagger-parser/pull/1374 // Also see https://github.com/swagger-api/swagger-parser/issues/1369. - ModelUtils.getOpenApiVersion(openAPI, specFilePath, null); + modelUtils.getOpenApiVersion(specFilePath, null); return openAPI; } public static OpenAPI parseContent(String jsonOrYaml) { OpenAPI openAPI = new OpenAPIParser().readContents(jsonOrYaml, null, null).getOpenAPI(); + ModelUtils modelUtils = new ModelUtils(openAPI); // Invoke helper function to get the original swagger version. - ModelUtils.getOpenApiVersion(openAPI, jsonOrYaml, null); + modelUtils.getOpenApiVersion(jsonOrYaml, null); return openAPI; } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/go/AbstractGoCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/go/AbstractGoCodegenTest.java index b1e0d924fa8..d9f46b0774f 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/go/AbstractGoCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/go/AbstractGoCodegenTest.java @@ -72,23 +72,23 @@ public class AbstractGoCodegenTest { // Create an array schema with item type set to the array alias Schema schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/NestedArray")); - - ModelUtils.setGenerateAliasAsModel(false); + ModelUtils modelUtils = new ModelUtils(codegen.getOpenAPI()); + modelUtils.setGenerateAliasAsModel(false); String defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "[][]int32"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "[]NestedArray"); // Create a map schema with additionalProperties type set to array alias schema = new MapSchema().additionalProperties(new Schema().$ref("#/components/schemas/NestedArray")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "map[string][]int32"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "map[string]NestedArray"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java index 4f8b9807378..2d8e8cfdf6a 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java @@ -418,26 +418,27 @@ public class AbstractJavaCodegenTest { // Create an alias to an array schema Schema nestedArraySchema = new ArraySchema().items(new IntegerSchema().format("int32")); codegen.setOpenAPI(new OpenAPI().components(new Components().addSchemas("NestedArray", nestedArraySchema))); + ModelUtils modelUtils = new ModelUtils(codegen.getOpenAPI()); // Create an array schema with item type set to the array alias schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/NestedArray")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.toDefaultValue(schema); Assert.assertEquals(defaultValue, "new ArrayList>()"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.toDefaultValue(schema); Assert.assertEquals(defaultValue, "new ArrayList()"); // Create a map schema with additionalProperties type set to array alias schema = new MapSchema().additionalProperties(new Schema().$ref("#/components/schemas/NestedArray")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.toDefaultValue(schema); Assert.assertEquals(defaultValue, "new HashMap>()"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.toDefaultValue(schema); Assert.assertEquals(defaultValue, "new HashMap()"); @@ -483,15 +484,16 @@ public class AbstractJavaCodegenTest { // Create an alias to an array schema Schema nestedArraySchema = new ArraySchema().items(new IntegerSchema().format("int32")); codegen.setOpenAPI(new OpenAPI().components(new Components().addSchemas("NestedArray", nestedArraySchema))); + ModelUtils modelUtils = new ModelUtils(codegen.getOpenAPI()); // Create an array schema with item type set to the array alias schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/NestedArray")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "List>"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "List"); @@ -499,22 +501,22 @@ public class AbstractJavaCodegenTest { schema = new ArraySchema().items(new Schema().$ref("#/components/schemas/NestedArray")); schema.setUniqueItems(true); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "Set>"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "Set"); // Create a map schema with additionalProperties type set to array alias schema = new MapSchema().additionalProperties(new Schema().$ref("#/components/schemas/NestedArray")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "Map>"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); defaultValue = codegen.getTypeDeclaration(schema); Assert.assertEquals(defaultValue, "Map"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientTest.java index 683d4aa4b02..d06687d29b3 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/python/PythonClientTest.java @@ -330,7 +330,7 @@ public class PythonClientTest { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml"); final DefaultCodegen codegen = new PythonClientCodegen(); - Schema modelSchema = ModelUtils.getSchema(openAPI, "DateTimeTest"); + Schema modelSchema = codegen.getModelUtils().getSchema("DateTimeTest"); String defaultValue = codegen.toDefaultValue(modelSchema); Assert.assertEquals(defaultValue, "dateutil_parser('2010-01-01T10:10:10.000111+01:00')"); } @@ -421,7 +421,7 @@ public class PythonClientTest { codegen.setOpenAPI(openAPI); String modelName = "FreeFormWithValidation"; - Schema modelSchema = ModelUtils.getSchema(openAPI, modelName); + Schema modelSchema = codegen.getModelUtils().getSchema(modelName); final CodegenModel model = codegen.fromModel(modelName, modelSchema); Assert.assertEquals((int) model.getMinProperties(), 1); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/TypeScriptClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/TypeScriptClientCodegenTest.java index 350af16ebb8..ca925ec98e4 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/TypeScriptClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/TypeScriptClientCodegenTest.java @@ -25,19 +25,21 @@ public class TypeScriptClientCodegenTest { new Schema().$ref("#/components/schemas/Child") ); - ModelUtils.setGenerateAliasAsModel(false); + ModelUtils modelUtils = new ModelUtils(api); + + modelUtils.setGenerateAliasAsModel(false); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "Array>"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "Array"); // Same for Map parentSchema = new MapSchema().additionalProperties(new Schema().$ref("#/components/schemas/Child")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "{ [key: string]: Array; }"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "{ [key: string]: Child; }"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchClientCodegenTest.java index f6b0678a414..c9aa302746f 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchClientCodegenTest.java @@ -76,6 +76,7 @@ public class TypeScriptFetchClientCodegenTest { Schema childSchema = new ArraySchema().items(new StringSchema()); OpenAPI api = TestUtils.createOpenAPI(); + ModelUtils modelUtils = new ModelUtils(api); api.getComponents().addSchemas("Child", childSchema); TypeScriptFetchClientCodegen codegen = new TypeScriptFetchClientCodegen(); @@ -86,19 +87,19 @@ public class TypeScriptFetchClientCodegenTest { new Schema().$ref("#/components/schemas/Child") ); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "Array>"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "Array"); // Same for Map parentSchema = new MapSchema().additionalProperties(new Schema().$ref("#/components/schemas/Child")); - ModelUtils.setGenerateAliasAsModel(false); + modelUtils.setGenerateAliasAsModel(false); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "{ [key: string]: Array; }"); - ModelUtils.setGenerateAliasAsModel(true); + modelUtils.setGenerateAliasAsModel(true); Assert.assertEquals(codegen.getTypeDeclaration(parentSchema), "{ [key: string]: Child; }"); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchModelTest.java index 8b43b94a8ce..7082abab2ef 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/fetch/TypeScriptFetchModelTest.java @@ -42,7 +42,7 @@ import java.util.Locale; /* import static io.swagger.codegen.CodegenConstants.IS_ENUM_EXT_NAME; import static io.swagger.codegen.languages.helpers.ExtensionHelper.getBooleanValue; -import static io.swagger.codegen.utils.ModelUtils.updateCodegenPropertyEnum; +import static io.swagger.codegen.utils.modelUtils.updateCodegenPropertyEnum; */ @SuppressWarnings("static-method") 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 a8ed4e34bbe..425d5343722 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 @@ -33,7 +33,8 @@ public class ModelUtilsTest { @Test public void testGetAllUsedSchemas() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/unusedSchemas.yaml"); - List allUsedSchemas = ModelUtils.getAllUsedSchemas(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); + List allUsedSchemas = modelUtils.getAllUsedSchemas(); List expectedallUsedSchemas = Arrays.asList( "SomeObj1", "SomeObj2", @@ -85,7 +86,8 @@ public class ModelUtilsTest { @Test public void testGetUnusedSchemas() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/unusedSchemas.yaml"); - List unusedSchemas = ModelUtils.getUnusedSchemas(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); + List unusedSchemas = modelUtils.getUnusedSchemas(); List expectedUnusedSchemas = Arrays.asList( "UnusedObj1", "UnusedObj2", @@ -104,7 +106,8 @@ public class ModelUtilsTest { @Test public void testSchemasUsedOnlyInFormParam() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/unusedSchemas.yaml"); - List unusedSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); + List unusedSchemas = modelUtils.getSchemasUsedOnlyInFormParam(); Assert.assertEquals(unusedSchemas.size(), 3); //SomeObj2 is only used in an 'application/x-www-form-urlencoded' request Assert.assertTrue(unusedSchemas.contains("SomeObj2"), "contains 'SomeObj2'"); @@ -117,24 +120,27 @@ public class ModelUtilsTest { @Test public void testNoComponentsSection() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/ping.yaml"); - List unusedSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); + List unusedSchemas = modelUtils.getSchemasUsedOnlyInFormParam(); Assert.assertEquals(unusedSchemas.size(), 0); } @Test public void testGlobalProducesConsumes() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/2_0/globalProducesConsumesTest.yaml"); - List unusedSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); + ModelUtils modelUtils = new ModelUtils(openAPI); + List unusedSchemas = modelUtils.getSchemasUsedOnlyInFormParam(); Assert.assertEquals(unusedSchemas.size(), 0); } @Test public void testIsModelAllowsEmptyBaseModel() { final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/2_0/emptyBaseModel.yaml"); - Schema commandSchema = ModelUtils.getSchema(openAPI, "Command"); + ModelUtils modelUtils = new ModelUtils(openAPI); + Schema commandSchema = modelUtils.getSchema("Command"); - Assert.assertTrue(ModelUtils.isModel(commandSchema)); - Assert.assertFalse(ModelUtils.isFreeFormObject(openAPI, commandSchema)); + Assert.assertTrue(modelUtils.isModel(commandSchema)); + Assert.assertFalse(modelUtils.isFreeFormObject(commandSchema)); } @Test @@ -143,12 +149,13 @@ public class ModelUtilsTest { OpenAPI openAPI = TestUtils.createOpenAPI(); openAPI.getComponents().addSchemas("OtherObj", otherObj); + ModelUtils modelUtils = new ModelUtils(openAPI); Schema notExistingReferencedSchema = new Schema().$ref("NotExisting"); - Schema result1 = ModelUtils.getReferencedSchema(openAPI, notExistingReferencedSchema); + Schema result1 = modelUtils.getReferencedSchema(notExistingReferencedSchema); Assert.assertEquals(result1, notExistingReferencedSchema); - Schema result2 = ModelUtils.getReferencedSchema(openAPI, new Schema().$ref("#/components/schemas/OtherObj")); + Schema result2 = modelUtils.getReferencedSchema(new Schema().$ref("#/components/schemas/OtherObj")); Assert.assertEquals(result2, otherObj); } @@ -158,12 +165,13 @@ public class ModelUtilsTest { OpenAPI openAPI = TestUtils.createOpenAPI(); openAPI.getComponents().addRequestBodies("OtherRequestBody", otherRequestBody); + ModelUtils modelUtils = new ModelUtils(openAPI); RequestBody notExistingRequestBody = new RequestBody().$ref("NotExisting"); - RequestBody result1 = ModelUtils.getReferencedRequestBody(openAPI, notExistingRequestBody); + RequestBody result1 = modelUtils.getReferencedRequestBody(notExistingRequestBody); Assert.assertEquals(result1, notExistingRequestBody); - RequestBody result2 = ModelUtils.getReferencedRequestBody(openAPI, new RequestBody().$ref("#/components/requestBodies/OtherRequestBody")); + RequestBody result2 = modelUtils.getReferencedRequestBody(new RequestBody().$ref("#/components/requestBodies/OtherRequestBody")); Assert.assertEquals(result2, otherRequestBody); } @@ -173,12 +181,13 @@ public class ModelUtilsTest { OpenAPI openAPI = TestUtils.createOpenAPI(); openAPI.getComponents().addResponses("OtherApiResponse", otherApiResponse); + ModelUtils modelUtils = new ModelUtils(openAPI); ApiResponse notExistingApiResponse = new ApiResponse().$ref("NotExisting"); - ApiResponse result1 = ModelUtils.getReferencedApiResponse(openAPI, notExistingApiResponse); + ApiResponse result1 = modelUtils.getReferencedApiResponse(notExistingApiResponse); Assert.assertEquals(result1, notExistingApiResponse); - ApiResponse result2 = ModelUtils.getReferencedApiResponse(openAPI, new ApiResponse().$ref("#/components/responses/OtherApiResponse")); + ApiResponse result2 = modelUtils.getReferencedApiResponse(new ApiResponse().$ref("#/components/responses/OtherApiResponse")); Assert.assertEquals(result2, otherApiResponse); } @@ -188,12 +197,13 @@ public class ModelUtilsTest { OpenAPI openAPI = TestUtils.createOpenAPI(); openAPI.getComponents().addParameters("OtherParameter", otherParameter); + ModelUtils modelUtils = new ModelUtils(openAPI); Parameter notExistingParameter = new Parameter().$ref("NotExisting"); - Parameter result1 = ModelUtils.getReferencedParameter(openAPI, notExistingParameter); + Parameter result1 = modelUtils.getReferencedParameter(notExistingParameter); Assert.assertEquals(result1, notExistingParameter); - Parameter result2 = ModelUtils.getReferencedParameter(openAPI, new Parameter().$ref("#/components/parameters/OtherParameter")); + Parameter result2 = modelUtils.getReferencedParameter(new Parameter().$ref("#/components/parameters/OtherParameter")); Assert.assertEquals(result2, otherParameter); } @@ -211,8 +221,9 @@ public class ModelUtilsTest { Schema refToComposedSchema = new Schema().$ref("#/components/schemas/SomeComposedSchema"); OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("SomeComposedSchema", composedSchema); + ModelUtils modelUtils = new ModelUtils(openAPI); - Assert.assertEquals(refToComposedSchema, ModelUtils.unaliasSchema(openAPI, refToComposedSchema, new HashMap<>())); + Assert.assertEquals(refToComposedSchema, modelUtils.unaliasSchema(refToComposedSchema, new HashMap<>())); } @Test @@ -223,38 +234,41 @@ public class ModelUtilsTest { importMappings.put("Email","foo.bar.Email"); OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("Email", stringSchema); + ModelUtils modelUtils = new ModelUtils(openAPI); - Assert.assertEquals(emailSchema, ModelUtils.unaliasSchema(openAPI, emailSchema, importMappings)); - Assert.assertEquals(stringSchema, ModelUtils.unaliasSchema(openAPI, emailSchema, new HashMap<>())); + Assert.assertEquals(emailSchema, modelUtils.unaliasSchema(emailSchema, importMappings)); + Assert.assertEquals(stringSchema, modelUtils.unaliasSchema(emailSchema, new HashMap<>())); } /** * Issue https://github.com/OpenAPITools/openapi-generator/issues/1624. - * ModelUtils.isFreeFormObject() should not throw an NPE when passed an empty + * modelUtils.isFreeFormObject() should not throw an NPE when passed an empty * object schema that has additionalProperties defined as an empty object schema. */ @Test public void testIsFreeFormObject() { OpenAPI openAPI = new OpenAPI().openapi("3.0.0"); + ModelUtils modelUtils = new ModelUtils(openAPI); + // 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 @@ -262,8 +276,8 @@ public class ModelUtilsTest { ArraySchema as = new ArraySchema() .items(new StringSchema()); as.setUniqueItems(true); - - Assert.assertTrue(ModelUtils.isSet(as)); + ModelUtils modelUtils = new ModelUtils(null); + Assert.assertTrue(modelUtils.isSet(as)); } @Test @@ -271,19 +285,21 @@ public class ModelUtilsTest { ArraySchema as = new ArraySchema() .items(new StringSchema()); as.setUniqueItems(false); - - Assert.assertFalse(ModelUtils.isSet(as)); + ModelUtils modelUtils = new ModelUtils(null); + Assert.assertFalse(modelUtils.isSet(as)); } @Test public void testIsSetFailsForNullSchema() { ArraySchema as = null; - Assert.assertFalse(ModelUtils.isSet(as)); + ModelUtils modelUtils = new ModelUtils(null); + Assert.assertFalse(modelUtils.isSet(as)); } @Test public void testSimpleRefDecoding() { - String decoded = ModelUtils.getSimpleRef("#/components/~01%20Hallo~1Welt"); + ModelUtils modelUtils = new ModelUtils(null); + String decoded = modelUtils.getSimpleRef("#/components/~01%20Hallo~1Welt"); Assert.assertEquals(decoded, "~1 Hallo/Welt"); } }