/// <summary> /// merges a template and puts the rendered stream into the writer /// </summary> /// <param name="templateName">name of template to be used in merge /// </param> /// <param name="encoding">encoding used in template /// </param> /// <param name="context"> filled context to be used in merge /// </param> /// <param name="writer"> writer to write template into /// </param> /// <returns>true if successful, false otherwise. Errors /// logged to velocity log /// @since Velocity v1.1 /// </returns> public static bool MergeTemplate(String templateName, String encoding, IContext context, TextWriter writer) { Template template = RuntimeSingleton.getTemplate(templateName, encoding) ; if (template == null) { RuntimeSingleton.error("Velocity.parseTemplate() failed loading template '" + templateName + "'"); return(false); } else { template.Merge(context, writer); return(true); } }
/// <summary> Runs the test. /// </summary> public virtual void runTest() { try { assureResultsDirectoryExists(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR); /* * Get the template and the output. Do them backwards. * vm_test2 uses a local VM and vm_test1 doesn't */ Template template2 = RuntimeSingleton.getTemplate(getFileName(null, "vm_test2", org.apache.velocity.test.TemplateTestBase_Fields.TMPL_FILE_EXT)); Template template1 = RuntimeSingleton.getTemplate(getFileName(null, "vm_test1", org.apache.velocity.test.TemplateTestBase_Fields.TMPL_FILE_EXT)); System.IO.FileStream fos1 = new System.IO.FileStream(getFileName(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, "vm_test1", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT), System.IO.FileMode.Create); System.IO.FileStream fos2 = new System.IO.FileStream(getFileName(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, "vm_test2", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT), System.IO.FileMode.Create); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer1 = new BufferedWriter(new System.IO.StreamWriter(fos1)); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer2 = new BufferedWriter(new System.IO.StreamWriter(fos2)); /* * put the Vector into the context, and merge both */ VelocityContext context = new VelocityContext(); template1.merge(context, writer1); writer1.Flush(); writer1.Close(); template2.merge(context, writer2); writer2.Flush(); writer2.Close(); if (!isMatch(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, org.apache.velocity.test.TemplateTestBase_Fields.COMPARE_DIR, "vm_test1", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT, org.apache.velocity.test.TemplateTestBase_Fields.CMP_FILE_EXT) || !isMatch(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, org.apache.velocity.test.TemplateTestBase_Fields.COMPARE_DIR, "vm_test2", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT, org.apache.velocity.test.TemplateTestBase_Fields.CMP_FILE_EXT)) { fail("Output incorrect."); } } catch (System.Exception e) { fail(e.Message); } }
/// <summary> Runs the test. /// </summary> public virtual void runTest() { try { /* * lets ensure the results directory exists */ assureResultsDirectoryExists(RESULTS_DIR); Template template1 = RuntimeSingleton.getTemplate(getFileName(null, "template/test1", TMPL_FILE_EXT)); Template template2 = RuntimeSingleton.getTemplate(getFileName(null, "template/test2", TMPL_FILE_EXT)); System.IO.FileStream fos1 = new System.IO.FileStream(getFileName(RESULTS_DIR, "test1", RESULT_FILE_EXT), System.IO.FileMode.Create); System.IO.FileStream fos2 = new System.IO.FileStream(getFileName(RESULTS_DIR, "test2", RESULT_FILE_EXT), System.IO.FileMode.Create); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer1 = new BufferedWriter(new System.IO.StreamWriter(fos1)); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer2 = new BufferedWriter(new System.IO.StreamWriter(fos2)); /* * put the Vector into the context, and merge both */ VelocityContext context = new VelocityContext(); template1.merge(context, writer1); writer1.Flush(); writer1.Close(); template2.merge(context, writer2); writer2.Flush(); writer2.Close(); if (!isMatch(RESULTS_DIR, COMPARE_DIR, "test1", RESULT_FILE_EXT, CMP_FILE_EXT) || !isMatch(RESULTS_DIR, COMPARE_DIR, "test2", RESULT_FILE_EXT, CMP_FILE_EXT)) { fail("Output is incorrect!"); } } catch (System.Exception e) { fail(e.Message); } }
/// <summary> /// Runs the test. /// </summary> private Boolean RunTest(String baseFileName) { // run setup before each test so that the context is clean SetUp(); try { Template template = RuntimeSingleton.getTemplate(getFileName(null, baseFileName, NVelocity.Test.TemplateTestBase_Fields.TMPL_FILE_EXT)) ; assureResultsDirectoryExists(NVelocity.Test.TemplateTestBase_Fields.RESULT_DIR); /* get the file to write to */ FileStream fos = new FileStream(getFileName(NVelocity.Test.TemplateTestBase_Fields.RESULT_DIR, baseFileName, NVelocity.Test.TemplateTestBase_Fields.RESULT_FILE_EXT), FileMode.Create); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' StreamWriter writer = new StreamWriter(fos); /* process the template */ template.Merge(context, writer); /* close the file */ writer.Flush(); writer.Close(); if (!isMatch(TemplateTestBase_Fields.RESULT_DIR, TemplateTestBase_Fields.COMPARE_DIR, baseFileName, TemplateTestBase_Fields.RESULT_FILE_EXT, TemplateTestBase_Fields.CMP_FILE_EXT)) { //Fail("Processed template did not match expected output"); return(false); } } catch (System.Exception e) { System.Console.Out.WriteLine("EXCEPTION : " + e); Assertion.Fail(e.Message); } return(true); }
/// <summary> /// Returns a <code>Template</code> from the Velocity /// resource management system. /// </summary> /// <param name="name">The file name of the desired template. /// </param> /// <param name="encoding">The character encoding to use for the template. /// </param> /// <returns> The template. /// @throws ResourceNotFoundException if template not found /// from any available source. /// @throws ParseErrorException if template cannot be parsed due /// to syntax (or other) error. /// @throws Exception if an error occurs in template initialization /// @since Velocity v1.1 /// </returns> public static Template GetTemplate(String name, String encoding) { return(RuntimeSingleton.getTemplate(name, encoding)); }
/// <summary> /// Returns a <code>Template</code> from the Velocity /// resource management system. /// </summary> /// <param name="name">The file name of the desired template. /// </param> /// <returns> The template. /// @throws ResourceNotFoundException if template not found /// from any available source. /// @throws ParseErrorException if template cannot be parsed due /// to syntax (or other) error. /// @throws Exception if an error occurs in template initialization /// </returns> public static Template GetTemplate(String name) { return(RuntimeSingleton.getTemplate(name)); }
/// <summary> /// Retrieves the requested template. /// </summary> /// <param name="name">The file name of the template to retrieve relative to the template root.</param> /// <returns>teh requested template</returns> public virtual Template GetTemplate(String name) { return(RuntimeSingleton.getTemplate(name)); }
/// <summary> Runs the test. /// </summary> public virtual void runTest() { /* * make a Vector and String array because * they are treated differently in Foreach() */ System.Collections.ArrayList v = new System.Collections.ArrayList(); v.Add(new System.String("vector hello 1".ToCharArray())); v.Add(new System.String("vector hello 2".ToCharArray())); v.Add(new System.String("vector hello 3".ToCharArray())); System.String[] strArray = new System.String[3]; strArray[0] = "array hello 1"; strArray[1] = "array hello 2"; strArray[2] = "array hello 3"; VelocityContext context = new VelocityContext(); try { assureResultsDirectoryExists(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR); /* * get the template and the output */ Template template = RuntimeSingleton.getTemplate(getFileName(null, "context_safety", org.apache.velocity.test.TemplateTestBase_Fields.TMPL_FILE_EXT)) ; System.IO.FileStream fos1 = new System.IO.FileStream(getFileName(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, "context_safety1", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT), System.IO.FileMode.Create); System.IO.FileStream fos2 = new System.IO.FileStream(getFileName(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, "context_safety2", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT), System.IO.FileMode.Create); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer1 = new BufferedWriter(new System.IO.StreamWriter(fos1)); //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' System.IO.StreamWriter writer2 = new BufferedWriter(new System.IO.StreamWriter(fos2)); /* * put the Vector into the context, and merge */ context.put("vector", v); template.merge(context, writer1); writer1.Flush(); writer1.Close(); /* * now put the string array into the context, and merge */ context.put("vector", strArray); template.merge(context, writer2); writer2.Flush(); writer2.Close(); if (!isMatch(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, org.apache.velocity.test.TemplateTestBase_Fields.COMPARE_DIR, "context_safety1", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT, org.apache.velocity.test.TemplateTestBase_Fields.CMP_FILE_EXT) || !isMatch(org.apache.velocity.test.TemplateTestBase_Fields.RESULT_DIR, org.apache.velocity.test.TemplateTestBase_Fields.COMPARE_DIR, "context_safety2", org.apache.velocity.test.TemplateTestBase_Fields.RESULT_FILE_EXT, org.apache.velocity.test.TemplateTestBase_Fields.CMP_FILE_EXT)) { fail("Output incorrect."); } } catch (System.Exception e) { fail(e.Message); } }
public Test(System.String templateFile, System.String encoding) { System.IO.StreamWriter writer = null; TestProvider provider = new TestProvider(); ArrayList al = provider.Customers; System.Collections.Hashtable h = new System.Collections.Hashtable(); /* * put this in to test introspection $h.Bar or $h.get("Bar") etc */ SupportClass.PutElement(h, "Bar", "this is from a hashtable!"); SupportClass.PutElement(h, "Foo", "this is from a hashtable too!"); /* * adding simple vector with strings for testing late introspection stuff */ System.Collections.ArrayList v = new System.Collections.ArrayList(); System.String str = "mystr"; v.Add(new System.String("hello".ToCharArray())); v.Add(new System.String("hello2".ToCharArray())); v.Add(str); try { /* * this is another way to do properties when initializing Runtime. * make a Properties */ //UPGRADE_TODO: Format of property file may need to be changed. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1089"' System.Configuration.AppSettingsReader p = new System.Configuration.AppSettingsReader(); /* * now, if you want to, load it from a file (or whatever) */ try { System.IO.FileStream fis = new System.IO.FileStream(new System.IO.FileInfo("velocity.properties").FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read); if (fis != null) { //UPGRADE_ISSUE: Method 'java.util.Properties.load' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javautilPropertiesload_javaioInputStream"' p.load(fis); } } catch (System.Exception ex) { /* no worries. no file... */ } /* * iterate out the properties */ System.Collections.Specialized.NameValueCollection temp_namedvaluecollection; temp_namedvaluecollection = System.Configuration.ConfigurationSettings.AppSettings; //UPGRADE_TODO: method 'java.util.Enumeration.hasMoreElements' was converted to ' ' which has a different behavior. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1073_javautilEnumerationhasMoreElements"' for (System.Collections.IEnumerator e = temp_namedvaluecollection.GetEnumerator(); e.MoveNext();) { //UPGRADE_TODO: method 'java.util.Enumeration.nextElement' was converted to ' ' which has a different behavior. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1073_javautilEnumerationnextElement"' System.String el = (System.String)e.Current; //UPGRADE_WARNING: method 'java.util.Properties.getProperty' was converted to ' ' which may throw an exception. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1101"' Velocity.setProperty(el, (System.String)p.GetValue(el, System.Type.GetType("System.String"))); } /* * add some individual properties if you wish */ Velocity.setProperty(Velocity.RUNTIME_LOG_ERROR_STACKTRACE, "true"); Velocity.setProperty(Velocity.RUNTIME_LOG_WARN_STACKTRACE, "true"); Velocity.setProperty(Velocity.RUNTIME_LOG_INFO_STACKTRACE, "true"); /* * use an alternative logger. Set it up here and pass it in. */ // SimpleLogSystem sls = new SimpleLogSystem("velocity_simple.log"); // Velocity.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM, sls ); /* * and now call init */ Velocity.init(); /* * now, do what we want to do. First, get the Template */ if (templateFile == null) { templateFile = "examples/example.vm"; } Template template = null; try { template = RuntimeSingleton.getTemplate(templateFile, encoding) ; } catch (ResourceNotFoundException rnfe) { System.Console.Out.WriteLine("Test : RNFE : Cannot find template " + templateFile); } catch (ParseErrorException pee) { System.Console.Out.WriteLine("Test : Syntax error in template " + templateFile + ":" + pee); } /* * now, make a Context object and populate it. */ VelocityContext context = new VelocityContext(); context.put("provider", provider); context.put("name", "jason"); context.put("providers", provider.Customers2); context.put("list", al); context.put("hashtable", h); context.put("search", provider.Search); context.put("relatedSearches", provider.RelSearches); context.put("searchResults", provider.RelSearches); context.put("menu", provider.Menu); context.put("stringarray", provider.Array); context.put("vector", v); context.put("mystring", new System.String("".ToCharArray())); context.put("hashmap", new HashMap()); context.put("runtime", new FieldMethodizer("org.apache.velocity.runtime.RuntimeSingleton")); context.put("fmprov", new FieldMethodizer(provider)); context.put("Floog", "floogie woogie"); context.put("geirstring", str); context.put("mylong", 5); /* * we want to make sure we test all types of iterative objects * in #foreach() */ int[] intarr = new int[] { 10, 20, 30, 40, 50 }; System.Object[] oarr = new System.Object[] { "a", "b", "c", "d" }; context.put("collection", v); context.put("iterator", v.iterator()); context.put("map", h); context.put("obarr", oarr); context.put("intarr", intarr); System.String stest = " My name is $name -> $Floog"; System.IO.StringWriter w = new System.IO.StringWriter(); // Velocity.evaluate( context, w, "evaltest",stest ); // System.out.println("Eval = " + w ); w = new System.IO.StringWriter(); //Velocity.mergeTemplate( "mergethis.vm", context, w ); //System.out.println("Merge = " + w ); w = new System.IO.StringWriter(); //Velocity.invokeVelocimacro( "floog", "test", new String[2], context, w ); //System.out.println("Invoke = " + w ); /* * event cartridge stuff */ EventCartridge ec = new EventCartridge(); ec.addEventHandler(this); ec.attachToContext(context); /* * make a writer, and merge the template 'against' the context */ VelocityContext vc = new VelocityContext(context); if (template != null) { //UPGRADE_ISSUE: Constructor 'java.io.BufferedWriter.BufferedWriter' was not converted. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1000_javaioBufferedWriterBufferedWriter_javaioWriter"' writer = new BufferedWriter(new System.IO.StreamWriter(System.Console.Out)); template.merge(vc, writer); writer.Flush(); writer.Close(); } } catch (MethodInvocationException mie) { System.Console.Out.WriteLine("MIE : " + mie); } catch (System.Exception e) { RuntimeSingleton.error("Test- exception : " + e); SupportClass.WriteStackTrace(e, Console.Error); } }