@@ -561,107 +561,13 @@ private static void WriteSchemaType(IOpenApiWriter writer, string name, JsonSche
561561 }
562562
563563 /// <inheritdoc/>
564+ [ Obsolete ( "Use ApplySchemaMetadata instead." ) ]
565+ #pragma warning disable CS0809 // Obsolete member overrides non-obsolete member
564566 protected override void SetAdditional31MetadataFromMapNode ( JsonObject jsonObject )
567+ #pragma warning restore CS0809 // Obsolete member overrides non-obsolete member
565568 {
566- base . SetAdditional31MetadataFromMapNode ( jsonObject ) ;
567-
568- var title = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . Title ) ;
569- if ( ! string . IsNullOrEmpty ( title ) )
570- {
571- Title = title ;
572- }
573-
574- // Boolean properties
575- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . Deprecated , out var deprecatedNode ) && deprecatedNode is JsonValue deprecatedValue && deprecatedValue . TryGetValue < bool > ( out var deprecated ) )
576- {
577- Deprecated = deprecated ;
578- }
579-
580- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . ReadOnly , out var readOnlyNode ) && readOnlyNode is JsonValue readOnlyValue && readOnlyValue . TryGetValue < bool > ( out var readOnly ) )
581- {
582- ReadOnly = readOnly ;
583- }
584-
585- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . WriteOnly , out var writeOnlyNode ) && writeOnlyNode is JsonValue writeOnlyValue && writeOnlyValue . TryGetValue < bool > ( out var writeOnly ) )
586- {
587- WriteOnly = writeOnly ;
588- }
589-
590- // Default value
591- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . Default , out var defaultNode ) )
592- {
593- Default = defaultNode ;
594- }
595-
596- // Examples
597- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . Examples , out var examplesNode ) && examplesNode is JsonArray examplesArray )
598- {
599- Examples = examplesArray . OfType < JsonNode > ( ) . ToList ( ) ;
600- }
601-
602- // Extensions (properties starting with "x-")
603- foreach ( var property in jsonObject
604- . Where ( static p => p . Key . StartsWith ( OpenApiConstants . ExtensionFieldNamePrefix , StringComparison . OrdinalIgnoreCase )
605- && p . Value is not null ) )
606- {
607- var extensionValue = property . Value ! ;
608- Extensions ??= new Dictionary < string , IOpenApiExtension > ( StringComparer . OrdinalIgnoreCase ) ;
609- Extensions [ property . Key ] = new JsonNodeExtension ( extensionValue . DeepClone ( ) ) ;
610- }
611-
612- // JSON Schema 2020-12 keyword siblings ($defs is parsed separately in the deserializer
613- // because it requires LoadSchema for nested schema materialization)
614- var id = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . Id ) ;
615- if ( ! string . IsNullOrEmpty ( id ) )
616- {
617- SchemaId = id ;
618- }
619-
620- var schemaValue = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . DollarSchema ) ;
621- if ( ! string . IsNullOrEmpty ( schemaValue ) && Uri . TryCreate ( schemaValue , UriKind . Absolute , out var schemaUri ) )
622- {
623- Schema = schemaUri ;
624- }
625-
626- var comment = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . Comment ) ;
627- if ( ! string . IsNullOrEmpty ( comment ) )
628- {
629- Comment = comment ;
630- }
631-
632- var dynamicRef = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . DynamicRef ) ;
633- if ( ! string . IsNullOrEmpty ( dynamicRef ) )
634- {
635- DynamicRef = dynamicRef ;
636- }
637-
638- var dynamicAnchor = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . DynamicAnchor ) ;
639- if ( ! string . IsNullOrEmpty ( dynamicAnchor ) )
640- {
641- DynamicAnchor = dynamicAnchor ;
642- }
643-
644- var anchor = GetPropertyValueFromNode ( jsonObject , OpenApiConstants . Anchor ) ;
645- if ( ! string . IsNullOrEmpty ( anchor ) )
646- {
647- Anchor = anchor ;
648- }
649-
650- if ( jsonObject . TryGetPropertyValue ( OpenApiConstants . Vocabulary , out var vocabNode ) && vocabNode is JsonObject vocabObj )
651- {
652- var vocab = new Dictionary < string , bool > ( ) ;
653- foreach ( var kvp in vocabObj )
654- {
655- if ( kvp . Value is JsonValue v && v . TryGetValue < bool > ( out var b ) )
656- {
657- vocab [ kvp . Key ] = b ;
658- }
659- }
660- if ( vocab . Count > 0 )
661- {
662- Vocabulary = vocab ;
663- }
664- }
569+ //TODO remove this method in next major release
570+ // no-op: we're using ApplySchemaMetadata
665571 }
666572
667573 internal void ApplySchemaMetadata ( OpenApiSchema schema , JsonObject jsonObject )
0 commit comments