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