private ConnectorMessagesImpl LoadMessages(Assembly assembly, LocalConnectorInfoImpl info, String[] nameBases) { if (nameBases == null || nameBases.Length == 0) { String pkage = info.ConnectorClass.RawType.Namespace; nameBases = new String[] { pkage + ".Messages" }; } ConnectorMessagesImpl rv = new ConnectorMessagesImpl(); CultureInfo[] cultures = GetLocalizedCultures(assembly); for (int i = nameBases.Length - 1; i >= 0; i--) { String nameBase = nameBases[i]; ResourceManager manager = new ResourceManager(nameBase, assembly); foreach (CultureInfo culture in cultures) { ResourceSet resourceSet = manager.GetResourceSet(culture, true, false); if (resourceSet != null) { IDictionary <string, string> temp = CollectionUtil.GetValue(rv.Catalogs, culture, null); if (temp == null) { temp = new Dictionary <string, string>(); rv.Catalogs[culture] = temp; } foreach (System.Collections.DictionaryEntry entry in resourceSet) { String key = "" + entry.Key; String val = "" + entry.Value; temp[key] = val; } } } } return(rv); }
public void TestConnectorMessages() { ConnectorMessagesImpl v1 = new ConnectorMessagesImpl(); IDictionary <String, String> defaultMap = new Dictionary <String, String>(); defaultMap["key1"] = "val1"; IDictionary <CultureInfo, IDictionary <String, String> > messages = new Dictionary <CultureInfo, IDictionary <String, String> >(); messages[new CultureInfo("en")] = defaultMap; messages[new CultureInfo("")] = defaultMap; v1.Catalogs = (messages); ConnectorMessagesImpl v2 = (ConnectorMessagesImpl) CloneObject(v1); Assert.IsTrue( CollectionUtil.SetsEqual(messages[new CultureInfo("")], v2.Catalogs[new CultureInfo("")])); Assert.IsTrue( CollectionUtil.SetsEqual(messages[new CultureInfo("en")], v2.Catalogs[new CultureInfo("en")])); }