static void updateProps(Ice.PropertiesAdminPrx cprops, Ice.PropertiesAdminPrx sprops, UpdateCallbackI callback, Dictionary<string, string> props, string map) { if(sprops.ice_getConnection() != null) { cprops.setProperties(getClientProps(cprops, props, map)); sprops.setProperties(getServerProps(sprops, props, map)); } else { Dictionary<string, string> clientProps = getClientProps(cprops, props, map); Dictionary<string, string> serverProps = getClientProps(sprops, props, map); foreach(KeyValuePair<string, string> p in clientProps) { if(!serverProps.ContainsKey(p.Key)) { serverProps.Add(p.Key, p.Value); } } cprops.setProperties(serverProps); } callback.waitForUpdate(); }
static void clearView(Ice.PropertiesAdminPrx cprops, Ice.PropertiesAdminPrx sprops, UpdateCallbackI callback) { Dictionary<string, string> dict; dict = cprops.getPropertiesForPrefix("IceMX.Metrics"); dict["IceMX.Metrics.View.Disabled"] = "1"; cprops.setProperties(dict); dict = sprops.getPropertiesForPrefix("IceMX.Metrics"); dict["IceMX.Metrics.View.Disabled"] = "1"; sprops.setProperties(dict); callback.waitForUpdate(); dict = cprops.getPropertiesForPrefix("IceMX.Metrics"); dict["IceMX.Metrics.View.Disabled"] = ""; cprops.setProperties(dict); dict = sprops.getPropertiesForPrefix("IceMX.Metrics"); dict["IceMX.Metrics.View.Disabled"] = ""; sprops.setProperties(dict); callback.waitForUpdate(); }
static void testAttribute(IceMX.MetricsAdminPrx metrics, Ice.PropertiesAdminPrx props, UpdateCallbackI update, string map, string attr, string value, System.Action func) { Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("IceMX.Metrics.View.Map." + map + ".GroupBy", attr); if(props.ice_getIdentity().category.Equals("client")) { props.setProperties(getClientProps(props, dict, map)); update.waitForUpdate(); } else { props.setProperties(getServerProps(props, dict, map)); props.setProperties(new Dictionary<string, string>()); } func(); long timestamp; Dictionary<string, IceMX.Metrics[]> view = metrics.getMetricsView("View", out timestamp); if(!view.ContainsKey(map) || view[map].Length == 0) { if(value.Length > 0) { WriteLine("no map `" + map + "' for group by = `" + attr + "'"); test(false); } } else if(!view[map][0].id.Equals(value)) { WriteLine("invalid attribute value: " + attr + " = " + value + " got " + view[map][0].id); test(false); } dict.Clear(); if(props.ice_getIdentity().category.Equals("client")) { props.setProperties(getClientProps(props, dict, map)); update.waitForUpdate(); } else { props.setProperties(getServerProps(props, dict, map)); props.setProperties(new Dictionary<string, string>()); } }