{
templateFile = "examples/example.vm";
}
Template template = null;
try
{
template = RuntimeSingleton.getTemplate(templateFile, encoding);
}
catch( ResourceNotFoundException rnfe )
{
System.out.println("Test : RNFE : Cannot find template " + templateFile );
}
catch( ParseErrorException pee )
{
System.out.println("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.getCustomers2());
context.put("list", al);
context.put("hashtable", h);
context.put("search", provider.getSearch());
context.put("relatedSearches", provider.getRelSearches());
context.put("searchResults", provider.getRelSearches());
context.put("menu", provider.getMenu());
context.put("stringarray", provider.getArray());
context.put("vector", v);
context.put("mystring", new String());
context.put("hashmap", new HashMap() );
context.put("runtime", new FieldMethodizer( "org.apache.flex.forks.velocity.runtime.RuntimeSingleton" ));
context.put("fmprov", new FieldMethodizer( provider ));
context.put("Floog", "floogie woogie");
context.put("geirstring", str );
context.put("mylong", new Long(5) );
/*
* we want to make sure we test all types of iterative objects
* in #foreach()
*/
int intarr[] = { 10, 20, 30, 40, 50 };
Object[] oarr = { "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 );
String stest = " My name is $name -> $Floog";
StringWriter w = new StringWriter();
// Velocity.evaluate( context, w, "evaltest",stest );
// System.out.println("Eval = " + w );
w = new StringWriter();
//Velocity.mergeTemplate( "mergethis.vm", context, w );
//System.out.println("Merge = " + w );
w = new 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)
{
writer = new BufferedWriter(new OutputStreamWriter(System.out, encoding));
template.merge( vc , writer);
writer.flush();
writer.close();
}
}