diff --git a/Pepperdash Core/CLZ Builds/PepperDash_Core.clz b/Pepperdash Core/CLZ Builds/PepperDash_Core.clz index f485ab8..59f1373 100644 Binary files a/Pepperdash Core/CLZ Builds/PepperDash_Core.clz and b/Pepperdash Core/CLZ Builds/PepperDash_Core.clz differ diff --git a/Pepperdash Core/CLZ Builds/PepperDash_Core.dll b/Pepperdash Core/CLZ Builds/PepperDash_Core.dll index aeb145c..bcff195 100644 Binary files a/Pepperdash Core/CLZ Builds/PepperDash_Core.dll and b/Pepperdash Core/CLZ Builds/PepperDash_Core.dll differ diff --git a/Pepperdash Core/Pepperdash Core.suo b/Pepperdash Core/Pepperdash Core.suo new file mode 100644 index 0000000..4b3fdd6 Binary files /dev/null and b/Pepperdash Core/Pepperdash Core.suo differ diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/Global.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/Global.cs index 4621c15..c7019d2 100644 --- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/Global.cs +++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/Global.cs @@ -18,6 +18,7 @@ namespace PepperDash.Core.JsonToSimpl /// master, this will fail /// /// New master to add + /// public static void AddMaster(JsonToSimplMaster master) { if (master == null) @@ -26,7 +27,7 @@ namespace PepperDash.Core.JsonToSimpl if (string.IsNullOrEmpty(master.UniqueID)) throw new InvalidOperationException("JSON Master cannot be added with a null UniqueId"); - Debug.Console(0, "JSON Global adding master {0}", master.UniqueID); + Debug.Console(1, "JSON Global adding master {0}", master.UniqueID); if (Masters.Contains(master)) return; diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplArrayLookupChild.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplArrayLookupChild.cs index c95bf2f..6b3d1b1 100644 --- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplArrayLookupChild.cs +++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplArrayLookupChild.cs @@ -73,7 +73,7 @@ namespace PepperDash.Core.JsonToSimpl } ArrayIndex = array.IndexOf(item); - Debug.Console(0, "Child[{0}] Found array match at index {1}", Key, ArrayIndex); + Debug.Console(1, "Child[{0}] Found array match at index {1}", Key, ArrayIndex); return true; } catch (Exception e) diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplChildObjectBase.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplChildObjectBase.cs index d3720de..bd7979c 100644 --- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplChildObjectBase.cs +++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplChildObjectBase.cs @@ -59,15 +59,18 @@ namespace PepperDash.Core.JsonToSimpl if (Master != null) Master.AddChild(this); else - Debug.Console(0, "JSON Child [{0}] cannot link to master {1}", key, masterUniqueId); + Debug.Console(1, "JSON Child [{0}] cannot link to master {1}", key, masterUniqueId); } + public void SetPathPrefix(string pathPrefix) { + PathPrefix = pathPrefix; + } /// /// Set the JPath to evaluate for a given bool out index. /// public void SetBoolPath(ushort index, string path) { - Debug.Console(0, "JSON Child[{0}] SetBoolPath {1}={2}", Key, index, path); + Debug.Console(1, "JSON Child[{0}] SetBoolPath {1}={2}", Key, index, path); if (path == null || path.Trim() == string.Empty) return; BoolPaths[index] = path; } @@ -77,7 +80,7 @@ namespace PepperDash.Core.JsonToSimpl /// public void SetUshortPath(ushort index, string path) { - Debug.Console(0, "JSON Child[{0}] SetUshortPath {1}={2}", Key, index, path); + Debug.Console(1, "JSON Child[{0}] SetUshortPath {1}={2}", Key, index, path); if (path == null || path.Trim() == string.Empty) return; UshortPaths[index] = path; } @@ -87,7 +90,7 @@ namespace PepperDash.Core.JsonToSimpl /// public void SetStringPath(ushort index, string path) { - Debug.Console(0, "JSON Child[{0}] SetStringPath {1}={2}", Key, index, path); + Debug.Console(1, "JSON Child[{0}] SetStringPath {1}={2}", Key, index, path); if (path == null || path.Trim() == string.Empty) return; StringPaths[index] = path; } @@ -121,23 +124,21 @@ namespace PepperDash.Core.JsonToSimpl if (Process(BoolPaths[index], out response)) OnBoolChange(response.Equals("true", StringComparison.OrdinalIgnoreCase), index, JsonToSimplConstants.BoolValueChange); - else - OnBoolChange(false, index, JsonToSimplConstants.BoolValueChange); + else { } + // OnBoolChange(false, index, JsonToSimplConstants.BoolValueChange); } // Processes the path to a ushort, converting to ushort if able, firing off UshrtChange event void ProcessUshortPath(ushort index) { string response; - if (Process(UshortPaths[index], out response)) - { + if (Process(UshortPaths[index], out response)) { ushort val; - try { val = Convert.ToUInt16(response); } - catch { val = 0; } + try { val = Convert.ToUInt16(response); } catch { val = 0; } OnUShortChange(val, index, JsonToSimplConstants.UshortValueChange); - } - else - OnUShortChange(0, index, JsonToSimplConstants.UshortValueChange); + } + else { } + // OnUShortChange(0, index, JsonToSimplConstants.UshortValueChange); } // Processes the path to a string property and fires of a StringChange event. @@ -146,8 +147,8 @@ namespace PepperDash.Core.JsonToSimpl string response; if (Process(StringPaths[index], out response)) OnStringChange(response, index, JsonToSimplConstants.StringValueChange); - else - OnStringChange("", index, JsonToSimplConstants.StringValueChange); + else { } + // OnStringChange("", index, JsonToSimplConstants.StringValueChange); } /// @@ -161,7 +162,7 @@ namespace PepperDash.Core.JsonToSimpl bool Process(string path, out string response) { path = GetFullPath(path); - Debug.Console(0, "Child[{0}] Processing {1}", Key, path); + Debug.Console(1, "Child[{0}] Processing {1}", Key, path); response = ""; if (Master == null) { @@ -188,7 +189,7 @@ namespace PepperDash.Core.JsonToSimpl response = (t.HasValues ? t.Children().Count() : 0).ToString(); else response = t.Value(); - Debug.Console(0, " ='{0}'", response); + Debug.Console(1, " ='{0}'", response); return true; } } @@ -251,7 +252,7 @@ namespace PepperDash.Core.JsonToSimpl var path = GetFullPath(keyPath); try { - Debug.Console(0, "Child[{0}] Queueing value on master {1}='{2}'", Key, path, valueToSave); + Debug.Console(1, "Child[{0}] Queueing value on master {1}='{2}'", Key, path, valueToSave); //var token = Master.JsonObject.SelectToken(path); //if (token != null) // The path exists in the file diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplFileMaster.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplFileMaster.cs index 09d0201..983a90c 100644 --- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplFileMaster.cs +++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplFileMaster.cs @@ -54,7 +54,7 @@ namespace PepperDash.Core.JsonToSimpl // Resolve wildcard var dir = Path.GetDirectoryName(Filepath); - Debug.Console(0, "Checking directory {0}", dir); + Debug.Console(1, "Checking directory {0}", dir); var fileName = Path.GetFileName(Filepath); var directory = new DirectoryInfo(dir); @@ -68,7 +68,7 @@ namespace PepperDash.Core.JsonToSimpl } //var actualFileName = actualFile.FullName; ActualFilePath = actualFile.FullName; - Debug.Console(0, "Actual JSON file is {0}", ActualFilePath); + Debug.Console(1, "Actual JSON file is {0}", ActualFilePath); string json = File.ReadToEnd(ActualFilePath, System.Text.Encoding.ASCII); @@ -87,7 +87,9 @@ namespace PepperDash.Core.JsonToSimpl return; } } - + public void setDebugLevel(int level) { + Debug.SetDebugLevel(level); + } public override void Save() { // this code is duplicated in the other masters!!!!!!!!!!!!! @@ -95,30 +97,30 @@ namespace PepperDash.Core.JsonToSimpl // Make each child update their values into master object foreach (var child in Children) { - Debug.Console(0, "Master [{0}] checking child [{1}] for updates to save", UniqueID, child.Key); + Debug.Console(1, "Master [{0}] checking child [{1}] for updates to save", UniqueID, child.Key); child.UpdateInputsForMaster(); } if (UnsavedValues == null || UnsavedValues.Count == 0) { - Debug.Console(0, "Master [{0}] No updated values to save. Skipping", UniqueID); + Debug.Console(1, "Master [{0}] No updated values to save. Skipping", UniqueID); return; } lock (FileLock) { - Debug.Console(0, "Saving"); + Debug.Console(1, "Saving"); foreach (var path in UnsavedValues.Keys) { var tokenToReplace = JsonObject.SelectToken(path); if (tokenToReplace != null) {// It's found tokenToReplace.Replace(UnsavedValues[path]); - Debug.Console(0, "JSON Master[{0}] Updating '{1}'", UniqueID, path); + Debug.Console(1, "JSON Master[{0}] Updating '{1}'", UniqueID, path); } else // No token. Let's make one { //http://stackoverflow.com/questions/17455052/how-to-set-the-value-of-a-json-path-using-json-net - Debug.Console(0, "JSON Master[{0}] Cannot write value onto missing property: '{1}'", UniqueID, path); + Debug.Console(1, "JSON Master[{0}] Cannot write value onto missing property: '{1}'", UniqueID, path); // JContainer jpart = JsonObject; // // walk down the path and find where it goes diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplMaster.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplMaster.cs index 531183f..4818711 100644 --- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplMaster.cs +++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/JsonToSimplMaster.cs @@ -106,7 +106,9 @@ namespace PepperDash.Core.JsonToSimpl /// public void AddChild(JsonToSimplChildObjectBase child) { - if (Children.Contains(child)) return; + if (Children.Contains(child)) { + Children.Remove(child); + } Children.Add(child); } diff --git a/Pepperdash Core/Pepperdash Core/Logging/Debug.cs b/Pepperdash Core/Pepperdash Core/Logging/Debug.cs index 496a02b..5ac4c58 100644 --- a/Pepperdash Core/Pepperdash Core/Logging/Debug.cs +++ b/Pepperdash Core/Pepperdash Core/Logging/Debug.cs @@ -365,7 +365,7 @@ namespace PepperDash.Core if (Contexts != null) { - Debug.Console(0, "Debug memory restored from file"); + Debug.Console(1, "Debug memory restored from file"); return; } } diff --git a/Pepperdash Core/Pepperdash Core/Logging/DebugContext.cs b/Pepperdash Core/Pepperdash Core/Logging/DebugContext.cs index 34b196d..62ed96a 100644 --- a/Pepperdash Core/Pepperdash Core/Logging/DebugContext.cs +++ b/Pepperdash Core/Pepperdash Core/Logging/DebugContext.cs @@ -230,7 +230,7 @@ namespace PepperDash.Core if (data != null) { SaveData = data; - Debug.Console(0, "Debug memory restored from file"); + Debug.Console(1, "Debug memory restored from file"); return; } else diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo new file mode 100644 index 0000000..5a20b25 Binary files /dev/null and b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo differ