Class CustomOpenAPINormalizer

java.lang.Object
org.openapitools.codegen.OpenAPINormalizer
com.sap.cloud.sdk.datamodel.openapi.generator.CustomOpenAPINormalizer

public class CustomOpenAPINormalizer extends org.openapitools.codegen.OpenAPINormalizer
Fix Api client methods with oneOf primitive param to stay simplified from OpenAPI generator 7.22.0. Also adds OAS 3.1-aware normalisation: nullable warnings, example deprecation warnings, and contentEncoding/contentMediaType → format mapping for binary file uploads.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.openapitools.codegen.OpenAPINormalizer

    org.openapitools.codegen.OpenAPINormalizer.BaseFilter, org.openapitools.codegen.OpenAPINormalizer.Filter, org.openapitools.codegen.OpenAPINormalizer.SecuritySchemesFilter
  • Field Summary

    Fields inherited from class org.openapitools.codegen.OpenAPINormalizer

    APPLICATION_OCTET_STREAM, LOGGER, openAPI
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomOpenAPINormalizer(io.swagger.v3.oas.models.OpenAPI openAPI, Map<String,String> inputRules)
    Initializes OpenAPI Normalizer with a set of rules
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    normalizeReferenceSchema(io.swagger.v3.oas.models.media.Schema schema)
    Normalize reference schema with allOf to support sibling properties.
    io.swagger.v3.oas.models.media.Schema
    normalizeSchema(io.swagger.v3.oas.models.media.Schema schema, Set<io.swagger.v3.oas.models.media.Schema> visitedSchemas)
    Normalizes any schema (not just $ref schemas).

    Methods inherited from class org.openapitools.codegen.OpenAPINormalizer

    createFilter, createNormalizer, createSecuritySchemesFilter, createSimplifiedEnumSchema, ensureInheritanceForDiscriminatorMapping, ensureInheritanceForDiscriminatorMappings, fixSelfReferenceSchema, getDiscriminatorValue, getRule, isContentMediaType, isSelfReference, isStringTypeOrTypeAbsent, markSchemaAsVisited, normalize, normalizeAllOf, normalizeAllOfWithProperties, normalizeAnyOf, normalizeArraySchema, normalizeBinaryContentSchema31, normalizeBooleanSchema, normalizeComplexComposedSchema, normalizeComponentsHeaders, normalizeComponentsResponses, normalizeComponentsSchemas, normalizeComponentsSecuritySchemes, normalizeContent, normalizeHeaders, normalizeInfo, normalizeIntegerSchema, normalizeMapSchema, normalizeOneOf, normalizeOperation, normalizeParameters, normalizePaths, normalizeProperties, normalizeRequestBody, normalizeResponse, normalizeResponses, normalizeSimpleSchema, processAddUnsignedToIntegerWithInvalidMaxValue, processFixDuplicatedOperationId, processKeepOnlyFirstTagInOperation, processNormalize31Spec, processNormalizeOtherThanObjectWithProperties, processRefactorAllOfWithPropertiesOnly, processRemoveAnyOfOneOfAndKeepPropertiesOnly, processRemoveXInternalFromOperation, processReplaceOneOfByMapping, processRules, processSetArraytoNullable, processSetMapToNullable, processSetPrimitiveTypesToNullable, processSetTagsForAllOperations, processSetTagsToOperationId, processSetTagsToVendorExtension, processSimplifyAnyOf, processSimplifyAnyOfEnum, processSimplifyAnyOfStringAndEnumString, processSimplifyBooleanEnum, processSimplifyOneOf, processSimplifyOneOfEnum, processUseAllOfRefAsParent, refactorAllOfWithMetadataOnlySchemas, removeUnsupportedSchemasFromAllOf, setNullable, simplifyComposedSchemaWithEnums, skipNormalization

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CustomOpenAPINormalizer

      public CustomOpenAPINormalizer(@Nonnull io.swagger.v3.oas.models.OpenAPI openAPI, @Nonnull Map<String,String> inputRules)
      Initializes OpenAPI Normalizer with a set of rules
      Parameters:
      openAPI - OpenAPI
      inputRules - a map of rules
  • Method Details

    • normalizeReferenceSchema

      protected void normalizeReferenceSchema(@Nonnull io.swagger.v3.oas.models.media.Schema schema)
      Normalize reference schema with allOf to support sibling properties. Also warns on OAS 3.1 deprecated keywords when processing a 3.1 spec.
      Overrides:
      normalizeReferenceSchema in class org.openapitools.codegen.OpenAPINormalizer
      Parameters:
      schema - Schema
    • normalizeSchema

      @Nonnull public io.swagger.v3.oas.models.media.Schema normalizeSchema(@Nonnull io.swagger.v3.oas.models.media.Schema schema, @Nonnull Set<io.swagger.v3.oas.models.media.Schema> visitedSchemas)
      Normalizes any schema (not just $ref schemas). Adds OAS 3.1 specific mappings:
      • warn on deprecated singular example keyword in OAS 3.1 schemas
      • map contentEncoding/contentMediaType to format for binary file uploads
      Overrides:
      normalizeSchema in class org.openapitools.codegen.OpenAPINormalizer