Ignore tie lines if none present in config

This commit is contained in:
Heath Volmer
2018-06-01 11:48:27 -06:00
parent dace2a57c2
commit 8e4c84dd02
7 changed files with 31 additions and 18 deletions

View File

@@ -64,6 +64,8 @@ namespace PepperDash.Essentials
var merged = new JObject(); var merged = new JObject();
// Put together top-level objects // Put together top-level objects
// skip any objects that don't have template objects
if (system["info"] != null) if (system["info"] != null)
merged.Add("info", Merge(template["info"], system["info"])); merged.Add("info", Merge(template["info"], system["info"]));
else else
@@ -72,25 +74,31 @@ namespace PepperDash.Essentials
merged.Add("devices", MergeArraysOnTopLevelProperty(template["devices"] as JArray, merged.Add("devices", MergeArraysOnTopLevelProperty(template["devices"] as JArray,
system["devices"] as JArray, "uid")); system["devices"] as JArray, "uid"));
if (system["rooms"] == null) if (template["rooms"] != null)
merged.Add("rooms", template["rooms"]); {
else if (system["rooms"] == null)
merged.Add("rooms", MergeArraysOnTopLevelProperty(template["rooms"] as JArray, merged.Add("rooms", template["rooms"]);
system["rooms"] as JArray, "key")); else
merged.Add("rooms", MergeArraysOnTopLevelProperty(template["rooms"] as JArray,
system["rooms"] as JArray, "key"));
}
if (system["sourceLists"] == null) if (template["sourceLists"] != null)
merged.Add("sourceLists", template["sourceLists"]); {
else if (system["sourceLists"] == null)
merged.Add("sourceLists", Merge(template["sourceLists"], system["sourceLists"])); merged.Add("sourceLists", template["sourceLists"]);
else
merged.Add("sourceLists", Merge(template["sourceLists"], system["sourceLists"]));
}
// Template tie lines take precdence. Config tool doesn't do them at system // Template tie lines take precdence. Config tool doesn't do them at system
// level anyway... // level anyway...
if (template["tieLines"] != null) if (template["tieLines"] != null)
merged.Add("tieLines", template["tieLines"]); merged.Add("tieLines", template["tieLines"]);
else if (system["tieLines"] != null) //else if (system["tieLines"] != null)
merged.Add("tieLines", system["tieLines"]); // merged.Add("tieLines", system["tieLines"]);
else //else
merged.Add("tieLines", new JArray()); // merged.Add("tieLines", new JArray());
Debug.Console(2, "MERGED CONFIG RESULT: \x0d\x0a{0}", merged); Debug.Console(2, "MERGED CONFIG RESULT: \x0d\x0a{0}", merged);
return merged; return merged;

View File

@@ -69,14 +69,14 @@ namespace PepperDash.Essentials
return new CotijaSystemController(key, name, props); return new CotijaSystemController(key, name, props);
} }
else if (typeName == "mobileControlBridge-ddvc01") else if (typeName == "mobilecontrolbridge-ddvc01")
{ {
var comm = CommFactory.GetControlPropertiesConfig(dc); var comm = CommFactory.GetControlPropertiesConfig(dc);
var bridge = new PepperDash.Essentials.Room.Cotija.CotijaDdvc01RoomBridge(key, name, comm.IpIdInt); var bridge = new PepperDash.Essentials.Room.Cotija.CotijaDdvc01RoomBridge(key, name, comm.IpIdInt);
bridge.AddPreActivationAction(() => bridge.AddPreActivationAction(() =>
{ {
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "cotijaServer") as CotijaSystemController; var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "appServer") as CotijaSystemController;
if (parent == null) if (parent == null)
{ {
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present"); Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");

View File

@@ -210,6 +210,11 @@ namespace PepperDash.Essentials
var tlc = TieLineCollection.Default; var tlc = TieLineCollection.Default;
//tlc.Clear(); //tlc.Clear();
if (ConfigReader.ConfigObject.TieLines == null)
{
return;
}
foreach (var tieLineConfig in ConfigReader.ConfigObject.TieLines) foreach (var tieLineConfig in ConfigReader.ConfigObject.TieLines)
{ {
var newTL = tieLineConfig.GetTieLine(); var newTL = tieLineConfig.GetTieLine();
@@ -273,7 +278,7 @@ namespace PepperDash.Essentials
{ {
bridge.AddPostActivationAction(() => bridge.AddPostActivationAction(() =>
{ {
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "cotijaServer") as CotijaSystemController; var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "appServer") as CotijaSystemController;
if (parent == null) if (parent == null)
{ {
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present"); Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");

View File

@@ -213,7 +213,7 @@ namespace PepperDash.Essentials.Room.Cotija
} }
} }
}, "cotijabridgedump", "Dumps DDVC01 bridge EISC data b,u,s", ConsoleAccessLevelEnum.AccessOperator); }, "mobilebridgedump", "Dumps DDVC01 bridge EISC data b,u,s", ConsoleAccessLevelEnum.AccessOperator);
CrestronConsole.AddNewConsoleCommand(s => LoadConfigValues(), "loadddvc", "", ConsoleAccessLevelEnum.AccessOperator); CrestronConsole.AddNewConsoleCommand(s => LoadConfigValues(), "loadddvc", "", ConsoleAccessLevelEnum.AccessOperator);

View File

@@ -32,7 +32,7 @@ namespace PepperDash.Essentials
/// <param name="parent"></param> /// <param name="parent"></param>
/// <param name="room"></param> /// <param name="room"></param>
public CotijaEssentialsHuddleSpaceRoomBridge(EssentialsHuddleSpaceRoom room): public CotijaEssentialsHuddleSpaceRoomBridge(EssentialsHuddleSpaceRoom room):
base("cotijaController", "Cotija Controller") base("mobileControlBridge-essentialsHuddle", "Essentials Mobile Control Bridge-Huddle")
{ {
Room = room; Room = room;
} }