Location: Metabolic Component Library @ 675e6b4a0d36 / CellML-source / CellMLTools / src / componentlibrary / html / VelocityTemplateRenderer.java

Author:
Matthias K?nig <matthias.koenig@charite.de>
Date:
2013-05-17 17:11:27+02:00
Desc:
Work on the automatic HTML rendering.
Permanent Source URI:
https://staging.physiomeproject.org/w/matthiaskoenig/MetabolicComponentLibrary/rawfile/675e6b4a0d367118705fe98f4c679a51ca6c5404/CellML-source/CellMLTools/src/componentlibrary/html/VelocityTemplateRenderer.java

package componentlibrary.html;

import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.MethodInvocationException;


/** 
 * Example how to use Apache Velocity to render an HTML template.
 * 
 */
public class VelocityTemplateRenderer {

	public static void render() throws IOException{
		Velocity.init();

		// Generate the Context for the Template
		VelocityContext context = new VelocityContext();
		context.put( "name", new String("Velocity") );

		// Generate the Template
		Template template = null;
		try
		{
		   template = Velocity.getTemplate("template/mytemplate.vm");
		}
		catch( ResourceNotFoundException rnfe )
		{
		   // couldn't find the template
		   System.out.println("Template not found.");
		}
		catch( ParseErrorException pee )
		{
		  // syntax error: problem parsing the template
			System.out.println("Template not parsable.");
		}
		catch( MethodInvocationException mie )
		{
		  // something invoked in the template
		  // threw an exception
			System.out.println("Template method invocation error.");
		}
		catch( Exception e )
		{}
		
		
		// Render the Template
		FileWriter fw = new FileWriter("template/mytemplate.html");
		StringWriter sw = new StringWriter();
		template.merge( context, sw );
		
		fw.write(sw.toString());
		fw.close();
	}
		
	public static void main(String[] args) throws IOException{
		render();
	}
}