diff --git a/uSync.BackOffice.Targets/appsettings-schema.usync.json b/uSync.BackOffice.Targets/appsettings-schema.usync.json index 78bf51dc..57278d85 100644 --- a/uSync.BackOffice.Targets/appsettings-schema.usync.json +++ b/uSync.BackOffice.Targets/appsettings-schema.usync.json @@ -251,9 +251,7 @@ "Settings": { "type": "object", "description": "Additional settings for the handler", - "additionalProperties": { - "type": "string" - } + "additionalProperties": {} } } }, diff --git a/uSync.BackOffice/Configuration/uSyncHandlerSettings.cs b/uSync.BackOffice/Configuration/uSyncHandlerSettings.cs index 7d2b4656..9781e2da 100644 --- a/uSync.BackOffice/Configuration/uSyncHandlerSettings.cs +++ b/uSync.BackOffice/Configuration/uSyncHandlerSettings.cs @@ -53,7 +53,7 @@ public class HandlerSettings /// /// Additional settings for the handler /// - public Dictionary Settings { get; set; } = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + public Dictionary Settings { get; set; } = new Dictionary(StringComparer.InvariantCultureIgnoreCase); } /// @@ -89,7 +89,7 @@ public static TResult GetSetting(this HandlerSettings settings, string public static void AddSetting(this HandlerSettings settings, string key, TObject value) { if (settings.Settings == null) - settings.Settings = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + settings.Settings = new Dictionary(StringComparer.InvariantCultureIgnoreCase); settings.Settings[key] = value.ToString(); } @@ -109,7 +109,7 @@ public static HandlerSettings Clone(this HandlerSettings settings) UseFlatStructure = settings.UseFlatStructure, Group = settings.Group, GuidNames = settings.GuidNames, - Settings = new Dictionary(settings.Settings, StringComparer.InvariantCultureIgnoreCase) + Settings = new Dictionary(settings.Settings, StringComparer.InvariantCultureIgnoreCase) }; } diff --git a/uSync.BackOffice/SyncHandlers/Handlers/DictionaryHandler.cs b/uSync.BackOffice/SyncHandlers/Handlers/DictionaryHandler.cs index df593d35..ea9fa406 100644 --- a/uSync.BackOffice/SyncHandlers/Handlers/DictionaryHandler.cs +++ b/uSync.BackOffice/SyncHandlers/Handlers/DictionaryHandler.cs @@ -182,8 +182,6 @@ protected override IEnumerable ReportElement(XElement node, string } private bool IsOneWay(HandlerSettings config) - { - return (config.Settings.ContainsKey("OneWay") && config.Settings["OneWay"].InvariantEquals("true")); - } + => config.GetSetting("OneWay", false); } } diff --git a/uSync.Core/Serialization/SyncSerializerOptions.cs b/uSync.Core/Serialization/SyncSerializerOptions.cs index e13edcb4..3a9b4a43 100644 --- a/uSync.Core/Serialization/SyncSerializerOptions.cs +++ b/uSync.Core/Serialization/SyncSerializerOptions.cs @@ -18,13 +18,13 @@ public SyncSerializerOptions(SerializerFlags flags) this.Flags = flags; } - public SyncSerializerOptions(Dictionary settings) + public SyncSerializerOptions(Dictionary settings) { - this.Settings = settings != null ? new Dictionary(settings) : new Dictionary(StringComparer.InvariantCultureIgnoreCase); + this.Settings = settings != null ? new Dictionary(settings) : new Dictionary(StringComparer.InvariantCultureIgnoreCase); } - public SyncSerializerOptions(SerializerFlags flags, Dictionary settings) + public SyncSerializerOptions(SerializerFlags flags, Dictionary settings) : this(settings) { this.Flags = flags; @@ -46,7 +46,7 @@ public SyncSerializerOptions(SerializerFlags flags, Dictionary s /// /// Parameterized options, custom for each handler /// - public Dictionary Settings { get; internal set; } + public Dictionary Settings { get; internal set; } /// /// flag properties, we can move this away from flags if we want to. @@ -102,7 +102,7 @@ public IList GetSegments() public string SwapValue(string key, string newValue) { - string oldValue = null; + object oldValue = null; if (!this.Settings.ContainsKey(key)) oldValue = this.Settings[key]; @@ -112,7 +112,7 @@ public string SwapValue(string key, string newValue) else this.Settings[key] = newValue; - return oldValue; + return oldValue.ToString(); } /// @@ -120,7 +120,7 @@ public string SwapValue(string key, string newValue) /// public void MergeSettings(Dictionary newSettings) { - if (Settings == null) Settings = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + if (Settings == null) Settings = new Dictionary(StringComparer.InvariantCultureIgnoreCase); if (newSettings != null) { foreach (var kvp in newSettings)