internal static FormatReadSettings DeserializeFormatReadSettings(JsonElement element) { if (element.TryGetProperty("type", out JsonElement discriminator)) { switch (discriminator.GetString()) { case "BinaryReadSettings": return(BinaryReadSettings.DeserializeBinaryReadSettings(element)); case "JsonReadSettings": return(JsonReadSettings.DeserializeJsonReadSettings(element)); case "XmlReadSettings": return(XmlReadSettings.DeserializeXmlReadSettings(element)); case "DelimitedTextReadSettings": return(DelimitedTextReadSettings.DeserializeDelimitedTextReadSettings(element)); } } string type = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new FormatReadSettings(type, additionalProperties)); }
internal DelimitedTextSource(string type, object sourceRetryCount, object sourceRetryWait, object maxConcurrentConnections, IDictionary <string, object> additionalProperties, StoreReadSettings storeSettings, DelimitedTextReadSettings formatSettings, object additionalColumns) : base(type, sourceRetryCount, sourceRetryWait, maxConcurrentConnections, additionalProperties) { StoreSettings = storeSettings; FormatSettings = formatSettings; AdditionalColumns = additionalColumns; Type = type ?? "DelimitedTextSource"; }
internal static DelimitedTextSource DeserializeDelimitedTextSource(JsonElement element) { Optional <StoreReadSettings> storeSettings = default; Optional <DelimitedTextReadSettings> formatSettings = default; string type = default; Optional <object> sourceRetryCount = default; Optional <object> sourceRetryWait = default; Optional <object> maxConcurrentConnections = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("storeSettings")) { storeSettings = StoreReadSettings.DeserializeStoreReadSettings(property.Value); continue; } if (property.NameEquals("formatSettings")) { formatSettings = DelimitedTextReadSettings.DeserializeDelimitedTextReadSettings(property.Value); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("sourceRetryCount")) { sourceRetryCount = property.Value.GetObject(); continue; } if (property.NameEquals("sourceRetryWait")) { sourceRetryWait = property.Value.GetObject(); continue; } if (property.NameEquals("maxConcurrentConnections")) { maxConcurrentConnections = property.Value.GetObject(); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new DelimitedTextSource(type, sourceRetryCount.Value, sourceRetryWait.Value, maxConcurrentConnections.Value, additionalProperties, storeSettings.Value, formatSettings.Value)); }
internal static DelimitedTextSource DeserializeDelimitedTextSource(JsonElement element) { Optional <StoreReadSettings> storeSettings = default; Optional <DelimitedTextReadSettings> formatSettings = default; Optional <IList <AdditionalColumns> > additionalColumns = default; string type = default; Optional <object> sourceRetryCount = default; Optional <object> sourceRetryWait = default; Optional <object> maxConcurrentConnections = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("storeSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } storeSettings = StoreReadSettings.DeserializeStoreReadSettings(property.Value); continue; } if (property.NameEquals("formatSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } formatSettings = DelimitedTextReadSettings.DeserializeDelimitedTextReadSettings(property.Value); continue; } if (property.NameEquals("additionalColumns")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AdditionalColumns> array = new List <AdditionalColumns>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(Models.AdditionalColumns.DeserializeAdditionalColumns(item)); } additionalColumns = array; continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("sourceRetryCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sourceRetryCount = property.Value.GetObject(); continue; } if (property.NameEquals("sourceRetryWait")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sourceRetryWait = property.Value.GetObject(); continue; } if (property.NameEquals("maxConcurrentConnections")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } maxConcurrentConnections = property.Value.GetObject(); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new DelimitedTextSource(type, sourceRetryCount.Value, sourceRetryWait.Value, maxConcurrentConnections.Value, additionalProperties, storeSettings.Value, formatSettings.Value, Optional.ToList(additionalColumns))); }