/// <inheritdoc /> public override JsonSchemaXsdMetadata AnalyzeSchema(JsonSchema schema, Uri uri) { JsonSchema = schema; Metadata = new JsonSchemaXsdMetadata() { SchemaOrigin = "Seres" }; if (JsonSchema.TryGetKeyword(out InfoKeyword info)) { var messageNameElement = info.Value.GetProperty("meldingsnavn"); var messageTypeNameElement = info.Value.GetProperty("modellnavn"); Metadata.MessageName = messageNameElement.ValueKind == JsonValueKind.Undefined ? "melding" : messageNameElement.GetString(); Metadata.MessageTypeName = messageTypeNameElement.ValueKind == JsonValueKind.Undefined ? null : messageNameElement.GetString(); } else { Metadata.MessageName = "melding"; } DetermineRootModel(JsonSchema); AnalyzeSchema(JsonPointer.Parse("#"), JsonSchema); return(Metadata); }
/// <summary> /// Converts a Json Schema string to a <see cref="ModelMetadata"/> /// </summary> /// <param name="modelName">The name of the model.</param> /// <param name="jsonSchema">The Json Schema to be converted</param> /// <returns>An flattened representation of the Json Schema in the form of <see cref="ModelMetadata"/></returns> public ModelMetadata Convert(string modelName, string jsonSchema) { ModelName = modelName; _modelMetadata = new ModelMetadata(); _schema = JsonSchema.FromText(jsonSchema); var schemaUri = _schema.GetKeyword <IdKeyword>().Id; _schemaXsdMetadata = _schemaAnalyzer.AnalyzeSchema(_schema, schemaUri); ProcessSchema(_schema); return(_modelMetadata); }
/// <inheritdoc/> public override JsonSchemaXsdMetadata AnalyzeSchema(JsonSchema schema, Uri uri) { JsonSchema = schema; Metadata = new JsonSchemaXsdMetadata { SchemaOrigin = "Standard", MessageName = UrlHelper.GetName(uri.ToString()), MessageTypeName = string.Empty }; DetermineRootModel(JsonSchema); AnalyzeSchema(JsonPointer.Parse("#"), JsonSchema); return(Metadata); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSchemaAnalyzer"/> bseclass. /// </summary> protected JsonSchemaAnalyzer() { Metadata = new JsonSchemaXsdMetadata(); }