public GetString ( String key ) : String | ||
key | String | The configuration key. /// |
리턴 | String |
public override void Init(ExtendedProperties configuration) { this.pluginNameAndPathSplitString = configuration.GetString("class.pluginNameAndPathSplitString"); if (this.pluginNameAndPathSplitString == null) this.pluginNameAndPathSplitString = ":"; this.viewNamePrefix = configuration.GetString("class.viewNamePrefix"); if (this.viewNamePrefix == null) this.viewNamePrefix = "view/"; this.viewNameSuffix = configuration.GetString("class.viewNameSuffix"); if (this.viewNameSuffix == null) this.viewNameSuffix = ".html"; }
public void Test_ExtendedProperties() { FileInfo file = new FileInfo("test1.properties"); StreamWriter sw = file.CreateText(); sw.WriteLine("# lines starting with # are comments. Blank lines are ignored"); sw.WriteLine(""); sw.WriteLine("# This is the simplest property"); sw.WriteLine("key = value"); sw.WriteLine(""); sw.WriteLine("# A long property may be separated on multiple lines"); sw.WriteLine("longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\"); sw.WriteLine(" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); sw.WriteLine(""); sw.WriteLine("# This is a property with many tokens"); sw.WriteLine("tokens_on_a_line = first token, second token"); sw.WriteLine(""); sw.WriteLine("# This sequence generates exactly the same result"); sw.WriteLine("tokens_on_multiple_lines = first token"); sw.WriteLine("tokens_on_multiple_lines = second token"); sw.WriteLine(""); sw.WriteLine("# commas may be escaped in tokens"); sw.WriteLine("commas.excaped = Hi\\, what'up?"); sw.Flush(); sw.Close(); StreamReader sr = file.OpenText(); String s = sr.ReadToEnd(); sr.Close(); // TODO: could build string, then write, then read and compare. ExtendedProperties props = new ExtendedProperties(file.FullName); Assertion.Assert("expected to have 5 properties, had " + props.Count.ToString(), props.Count==5); Assertion.Assert("key was not correct: " + props.GetString("key"), props.GetString("key").Equals("value")); Assertion.Assert("commas.excaped was not correct: " + props.GetString("commas.excaped"), props.GetString("commas.excaped").Equals("Hi, what'up?")); Object o = props.GetProperty("tokens_on_a_line"); Assertion.Assert("tokens_on_a_line was expected to be an ArrayList", (o is ArrayList)); Assertion.Assert("tokens_on_a_line was expected to be an ArrayList with 2 elements", ((ArrayList)o).Count==2); StringWriter writer = new StringWriter(); props.Save(writer, "header"); }
/// <summary> /// overridden LoadConfiguration that will create a properties file on the fly /// </summary> /// <returns></returns> protected override ExtendedProperties LoadConfiguration() { ExtendedProperties p = new ExtendedProperties(); // override the loader path and log file locations based on where the physical application path is p.SetProperty(NVelocity.Runtime.RuntimeConstants_Fields.FILE_RESOURCE_LOADER_PATH, context.Request.PhysicalApplicationPath); p.SetProperty(NVelocity.Runtime.RuntimeConstants_Fields.RUNTIME_LOG, context.Request.PhysicalApplicationPath + p.GetString(NVelocity.Runtime.RuntimeConstants_Fields.RUNTIME_LOG, "nvelocity.log")); return p; }
public NVelocityViewEngine(IDictionary properties) { if( properties == null ) properties = DEFAULT_PROPERTIES; var props = new ExtendedProperties(); foreach(string key in properties.Keys) { props.AddProperty(key, properties[key]); } _masterFolder = props.GetString("master.folder", string.Empty); _engine = new VelocityEngine(); _engine.Init(props); }
/// <summary> /// This initialization is used by all resource /// loaders and must be called to set up common /// properties shared by all resource loaders /// </summary> public void CommonInit(IRuntimeServices rs, ExtendedProperties configuration) { rsvc = rs; // these two properties are not required for all loaders. // For example, for ClasspathLoader, what would cache mean? // so adding default values which I think are the safest // don't cache, and modCheckInterval irrelevant... isCachingOn = configuration.GetBoolean("cache", false); modificationCheckInterval = configuration.GetLong("modificationCheckInterval", 0); // this is a must! className = configuration.GetString("class"); }
/// <summary> This initialization is used by all resource /// loaders and must be called to set up common /// properties shared by all resource loaders /// </summary> public virtual void commonInit(RuntimeServices rs, ExtendedProperties configuration) { this.rsvc = rs; /* * these two properties are not required for all loaders. * For example, for ClasspathLoader, what would cache mean? * so adding default values which I think are the safest * * don't cache, and modCheckInterval irrelevant... */ isCachingOn_Renamed_Field = configuration.GetBoolean("cache", false); modificationCheckInterval = configuration.GetLong("modificationCheckInterval", 0); /* * this is a must! */ className = configuration.GetString("class"); }
public virtual void Test_run() { System.IO.StreamWriter result = null; ExtendedProperties c = null; try { assureResultsDirectoryExists(RESULTS_DIR); c = new ExtendedProperties(TEST_CONFIG); result = new System.IO.StreamWriter(getFileName(RESULTS_DIR, "output", "res")); } catch (System.Exception e) { throw new System.Exception("Cannot setup CommonsExtPropTestCase!", e); } message(result, "Testing order of keys ..."); showIterator(result, c.Keys); message(result, "Testing retrieval of CSV values ..."); showVector(result, c.GetVector("resource.loader")); message(result, "Testing subset(prefix).getKeys() ..."); ExtendedProperties subset = c.Subset("file.resource.loader"); showIterator(result, subset.Keys); message(result, "Testing getVector(prefix) ..."); showVector(result, subset.GetVector("path")); message(result, "Testing getString(key) ..."); result.Write(c.GetString("config.string.value")); result.Write("\n\n"); message(result, "Testing getBoolean(key) ..."); //UPGRADE_TODO: The equivalent in .NET for method 'java.lang.Boolean.toString' may return a different value. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1043"' result.Write(c.GetBoolean("config.boolean.value").ToString()); result.Write("\n\n"); message(result, "Testing getByte(key) ..."); result.Write(c.GetByte("config.byte.value").ToString()); result.Write("\n\n"); message(result, "Testing getShort(key) ..."); result.Write(c.GetShort("config.short.value").ToString()); result.Write("\n\n"); message(result, "Testing getInt(key) ..."); result.Write(c.GetInt("config.int.value").ToString()); result.Write("\n\n"); message(result, "Testing getLong(key) ..."); result.Write(c.GetLong("config.long.value").ToString()); result.Write("\n\n"); message(result, "Testing getFloat(key) ..."); result.Write(c.GetFloat("config.float.value").ToString()); result.Write("\n\n"); message(result, "Testing getDouble(key) ..."); result.Write(c.GetDouble("config.double.value").ToString()); result.Write("\n\n"); message(result, "Testing escaped-comma scalar..."); result.Write(c.GetString("escape.comma1")); result.Write("\n\n"); message(result, "Testing escaped-comma vector..."); showVector(result, c.GetVector("escape.comma2")); result.Write("\n\n"); result.Flush(); result.Close(); if (!isMatch(RESULTS_DIR, COMPARE_DIR, "output", "res", "cmp")) { Assertion.Fail("Output incorrect."); } }