Example #1
0
        private static bool _fileExists = false;        // does the ini file exists?

        static SettingsManager()
        {
            try
            {
                ConfigFile  = string.Format("{0}/{1}", FileHelpers.AssemblyRoot, "config.ini"); // the config file's location.
                Parser      = new IniConfigSource(ConfigFile);                                  // see if the file exists by trying to parse it.
                _fileExists = true;
            }
            catch (Exception e)
            {
                Parser      = new IniConfigSource(); // initiate a new .ini source.
                _fileExists = false;
                Logger.WarnException(e, "Error loading settings config.ini, will be using default settings. Exception thrown: ");
            }
            finally
            {
                // adds aliases so we can use On and Off directives in ini files.
                Parser.Alias.AddAlias("On", true);
                Parser.Alias.AddAlias("Off", false);

                // logger level aliases.
                Parser.Alias.AddAlias("MinimumLevel", Logger.Level.Trace);
                Parser.Alias.AddAlias("MaximumLevel", Logger.Level.Trace);
            }

            Parser.ExpandKeyValues();
        }
Example #2
0
        public void ExpandKeyValuesMerge()
        {
            StringWriter writer = new StringWriter();

            writer.WriteLine("[web]");
            writer.WriteLine(" protocol = http");
            writer.WriteLine("[server]");
            writer.WriteLine(" domain1 = ${web|protocol}://nini.sf.net/");
            IniConfigSource source = new IniConfigSource
                                         (new StringReader(writer.ToString()));

            StringWriter newWriter = new StringWriter();

            newWriter.WriteLine("[web]");
            newWriter.WriteLine(" apache = Apache implements ${protocol}");
            newWriter.WriteLine("[server]");
            newWriter.WriteLine(" domain2 = ${web|protocol}://nini.sf.net/");
            IniConfigSource newSource = new IniConfigSource
                                            (new StringReader(newWriter.ToString()));

            source.Merge(newSource);
            source.ExpandKeyValues();

            IConfig config = source.Configs["web"];

            Assert.AreEqual("http", config.Get("protocol"));
            Assert.AreEqual("Apache implements http", config.Get("apache"));
            config = source.Configs["server"];
            Assert.AreEqual("http://nini.sf.net/", config.Get("domain1"));
            Assert.AreEqual("http://nini.sf.net/", config.Get("domain2"));
        }
Example #3
0
        static ConfigurationManager()
        {
            try
            {
                /// <summary>
                /// Path to config file.
                /// </summary>
                ConfigFile  = string.Format("{0}/{1}", FileHelpers.AssemblyRoot, "conf/Server.conf");
                Parser      = new IniConfigSource(ConfigFile);
                _fileExists = true;
            }
            catch (Exception)
            {
                Parser      = new IniConfigSource();
                _fileExists = false;
                Logger.Warn("Error loading settings Server.ini, will be using default settings.");
            }
            finally
            {
                Parser.Alias.AddAlias("On", true);
                Parser.Alias.AddAlias("Off", false);

                Parser.Alias.AddAlias("MinimumLevel", Logger.Level.Trace);
                Parser.Alias.AddAlias("MaximumLevel", Logger.Level.Trace);
            }

            Parser.ExpandKeyValues();
        }
Example #4
0
        public void ExpandText()
        {
            StringWriter writer = new StringWriter();

            writer.WriteLine("[Test]");
            writer.WriteLine(" author = Brent");
            writer.WriteLine(" domain = ${protocol}://nini.sf.net/");
            writer.WriteLine(" apache = Apache implements ${protocol}");
            writer.WriteLine(" developer = author of Nini: ${author} !");
            writer.WriteLine(" love = We love the ${protocol} protocol");
            writer.WriteLine(" combination = ${author} likes ${protocol}");
            writer.WriteLine(" fact = fact: ${apache}");
            writer.WriteLine(" protocol = http");
            IniConfigSource source = new IniConfigSource
                                         (new StringReader(writer.ToString()));

            source.ExpandKeyValues();

            IConfig config = source.Configs["Test"];

            Assert.AreEqual("http", config.Get("protocol"));
            Assert.AreEqual("fact: Apache implements http", config.Get("fact"));
            Assert.AreEqual("http://nini.sf.net/", config.Get("domain"));
            Assert.AreEqual("Apache implements http", config.Get("apache"));
            Assert.AreEqual("We love the http protocol", config.Get("love"));
            Assert.AreEqual("author of Nini: Brent !", config.Get("developer"));
            Assert.AreEqual("Brent likes http", config.Get("combination"));
        }
Example #5
0
        private bool _fileExists = false; // does the ini file exists?

        public ConfigManagerHelper()
        {
            try
            {
                ConfigFile  = Environment.CurrentDirectory + "\\" + "config.ini"; // the config file's location.
                Parser      = new IniConfigSource(ConfigFile);                    // see if the file exists by trying to parse it.
                _fileExists = true;
            }
            catch (Exception ex)
            {
                Logging.LogManager.DefaultLogger.Error("Error loading settings config.ini, will be using default settings " + ex.Message);
            }

            finally
            {
                // adds aliases so we can use On and Off directives in ini files.
                Parser.Alias.AddAlias("On", true);
                Parser.Alias.AddAlias("Off", false);

                // logger level aliases.
                Parser.Alias.AddAlias("MinimumLevel", Logger.Level.Trace);
                Parser.Alias.AddAlias("MaximumLevel", Logger.Level.Trace);
            }

            Parser.ExpandKeyValues();
        }
Example #6
0
        private static void LoadMainConfig()
        {
            try
            {
                _mainConfigFile       = string.Format("{0}/Conf/{1}", FileHelpers.AssemblyRoot, "default.conf"); // the config file's location.
                _mainConfigParser     = new IniConfigSource(_mainConfigFile);                                    // see if the file exists by trying to parse it.
                _mainConfigFileExists = true;
            }
            catch (Exception)
            {
                _mainConfigParser     = new IniConfigSource(); // initiate a new .ini source.
                _mainConfigFileExists = false;
                Log.Warning("Error loading settings {0}, will be using default settings.", _mainConfigFile);
            }
            finally
            {
                // adds aliases so we can use On and Off directives in ini files.
                _mainConfigParser.Alias.AddAlias("On", true);
                _mainConfigParser.Alias.AddAlias("Off", false);

                // logger level aliases.
                //Parser.Alias.AddAlias("MinimumLevel", Logger.Level.Trace);
                //Parser.Alias.AddAlias("MaximumLevel", Logger.Level.Trace);

                _mainConfigParser.ExpandKeyValues();
            }
        }
Example #7
0
        public void ExpandKeyValuesConfigError()
        {
            StringWriter writer = new StringWriter();

            writer.WriteLine("[server]");
            writer.WriteLine(" domain1 = ${web|protocol}://nini.sf.net/");
            IniConfigSource source = new IniConfigSource
                                         (new StringReader(writer.ToString()));

            try {
                source.ExpandKeyValues();
            }
            catch (Exception ex) {
                Assert.AreEqual("Expand config not found: web", ex.Message);
            }
        }
Example #8
0
        private static bool _fileExists = false;        // does the ini file exists?

        static ConfigurationManager()
        {
            try
            {
                ConfigFile  = string.Format("{0}/{1}", FileHelpers.AssemblyRoot, "conf/Skills/BarbarianSkills.conf"); // the config file's location.
                Parser      = new IniConfigSource(ConfigFile);                                                        // see if the file exists by trying to parse it.
                _fileExists = true;
            }
            catch (Exception)
            {
                Parser      = new IniConfigSource(); // initiate a new .ini source.
                _fileExists = false;
                Logger.Warn("Error loading settings BarbarianSkills.conf, will be using default settings.");
            }

            Parser.ExpandKeyValues();
        }
Example #9
0
        public void ExpandKeyInfiniteRecursion()
        {
            StringWriter writer = new StringWriter();

            writer.WriteLine("[replace]");
            writer.WriteLine("test = ${test} broken");
            IniConfigSource source = new IniConfigSource
                                         (new StringReader(writer.ToString()));

            try {
                source.ExpandKeyValues();
            }
            catch (ArgumentException ex) {
                Assert.AreEqual
                    ("Key cannot have a expand value of itself: test", ex.Message);
            }
        }
        /// <summary>
        /// Initialize a new instance of InIQueryProviderBase with query file.
        /// </summary>
        /// <param name="queryFilePath">Query String이 정의된 ini 파일의 전체경로</param>
        protected InIQueryProviderBase(string queryFilePath)
        {
            if (IsDebugEnabled)
            {
                log.Debug("쿼리문을 제공하는 IQueryProvider의 인스턴스를 생성합니다. queryFilePath=[{0}]", queryFilePath);
            }

            try {
                queryFilePath = FileTool.GetPhysicalPath(queryFilePath);

                if (queryFilePath.FileExists() == false)
                {
                    throw new FileNotFoundException("QueryStringFile이 없습니다. queryFilePath=" + queryFilePath, queryFilePath);
                }

                QueryFilePath = queryFilePath;

                // Ini File을 SambaStyle로 해야 다중라인을 이해한다. 다중라인의 구분은 backslash ('\') 로 구분한다.
                //
                QuerySource = new IniConfigSource(new IniDocument(QueryFilePath, IniFileType.SambaStyle));

                // parameter value값들을 계산해둔다.
                //
                QuerySource.ExpandKeyValues();
            }
            catch (Exception ex) {
                if (log.IsErrorEnabled)
                {
                    log.Error("InIQueryProviderBase를 초기화하는데 실패했습니다!!! queryFilePath=[{0}]" + QueryFilePath);
                    log.Error(ex);
                }

                throw;
            }

            if (IsDebugEnabled)
            {
                log.Debug("Query String 정보를 파싱했습니다. queryFilePath=[{0}]", QueryFilePath);
            }
        }
Example #11
0
        private static bool _fileExists = false;        // does the ini file exists?

        static ConfigurationManager()
        {
            try
            {
                ConfigFile  = string.Format("{0}/{1}", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config.ini"); // the config file's location.
                Parser      = new IniConfigSource(ConfigFile);                                                                         // see if the file exists by trying to parse it.
                _fileExists = true;
            }
            catch (Exception)
            {
                Parser      = new IniConfigSource(); // initiate a new .ini source.
                _fileExists = false;
            }
            finally
            {
                // adds aliases so we can use On and Off directives in ini files.
                Parser.Alias.AddAlias("On", true);
                Parser.Alias.AddAlias("Off", false);
            }

            Parser.ExpandKeyValues();
        }
        private static bool _fileExists = false;        // does the ini file exists?

        static ConfigManager()
        {
            try
            {
                ConfigFile  = string.Format("{0}/{1}", FileHelpers.AssemblyRoot, "config.ini"); // the config file's location.
                Parser      = new IniConfigSource(ConfigFile);                                  // see if the file exists by trying to parse it.
                _fileExists = true;
            }
            catch (Exception)
            {
                Parser      = new IniConfigSource(); // initiate a new .ini source.
                _fileExists = false;
                SysCons.LogWarn("Cannot loading settings file \"config.ini\", will be using default settings.");
            }
            finally
            {
                // adds aliases so we can use On and Off directives in ini files.
                Parser.Alias.AddAlias("On", true);
                Parser.Alias.AddAlias("Off", false);
            }

            Parser.ExpandKeyValues();
        }