public static IgniteConfiguration GetConfiguration(Tuple <string, string>[] args) { List <string> stringList1 = new List <string>(); List <string> stringList2 = new List <string>(); IgniteConfiguration cfg = Configurator.ReadConfigurationSection(args) ?? new IgniteConfiguration(); foreach (Tuple <string, string> tuple in args) { if (string.IsNullOrWhiteSpace(tuple.Item2)) { throw new IgniteException(string.Format("Missing argument value: '{0}'. See 'Apache.Ignite.exe /help'", (object)tuple.Item1)); } Tuple <string, string> arg0 = tuple; Func <string, bool> func = (Func <string, bool>)(x => arg0.Item1.Equals(x, StringComparison.OrdinalIgnoreCase)); if (func("IgniteHome")) { cfg.IgniteHome = tuple.Item2; } else if (func("SpringConfigUrl")) { cfg.SpringConfigUrl = tuple.Item2; } else if (func("JvmDll")) { cfg.JvmDllPath = tuple.Item2; } else if (func("JvmClasspath")) { cfg.JvmClasspath = tuple.Item2; } else if (func("SuppressWarnings")) { cfg.SuppressWarnings = bool.TrueString.Equals(tuple.Item2, StringComparison.OrdinalIgnoreCase); } else if (func("JvmInitialMemoryMB")) { cfg.JvmInitialMemoryMb = ConfigValueParser.ParseInt(tuple.Item2, "JvmInitialMemoryMB"); } else if (func("JvmMaxMemoryMB")) { cfg.JvmMaxMemoryMb = ConfigValueParser.ParseInt(tuple.Item2, "JvmMaxMemoryMB"); } else if (func("J")) { stringList1.Add(tuple.Item2); } else if (func("Assembly")) { stringList2.Add(tuple.Item2); } else if (func("ForceTestClasspath") && tuple.Item2 == "true") { Environment.SetEnvironmentVariable("IGNITE_NATIVE_TEST_CLASSPATH", "true"); } else if (!func("ConfigFileName") && !func("ConfigSectionName")) { throw new IgniteException(string.Format("Unknown argument: '{0}'. See 'Apache.Ignite.exe /help'", (object)tuple.Item1)); } } if (stringList1.Count > 0) { if (cfg.JvmOptions == null) { cfg.JvmOptions = (ICollection <string>)stringList1; } else { stringList1.ForEach((Action <string>)(val => cfg.JvmOptions.Add(val))); } } if (stringList2.Count > 0) { if (cfg.Assemblies == null) { cfg.Assemblies = (ICollection <string>)stringList2; } else { stringList2.ForEach((Action <string>)(val => cfg.Assemblies.Add(val))); } } return(cfg); }
private static IgniteConfiguration ReadConfigurationSection( Tuple <string, string>[] args) { string fileName = Configurator.FindValue((IEnumerable <Tuple <string, string> >)args, "ConfigFileName"); string sectionName = Configurator.FindValue((IEnumerable <Tuple <string, string> >)args, "ConfigSectionName"); if (string.IsNullOrEmpty(fileName) && string.IsNullOrEmpty(sectionName)) { return((IgniteConfiguration)null); } System.Configuration.Configuration configuration = string.IsNullOrEmpty(fileName) ? ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) : ConfigurationManager.OpenMappedExeConfiguration(Configurator.GetConfigMap(fileName), ConfigurationUserLevel.None); IgniteConfigurationSection configurationSection = string.IsNullOrEmpty(sectionName) ? configuration.Sections.OfType <IgniteConfigurationSection>().FirstOrDefault <IgniteConfigurationSection>() : (IgniteConfigurationSection)configuration.GetSection(sectionName); if (configurationSection == null) { throw new ConfigurationErrorsException(string.Format("Could not find {0} in current application configuration", (object)typeof(IgniteConfigurationSection).Name)); } return(configurationSection.IgniteConfiguration); }