View Javadoc

1   package br.com.ibnetwork.guara.pull.tools;
2   
3   import java.io.StringWriter;
4   import java.io.Writer;
5   
6   import org.apache.avalon.framework.service.ServiceException;
7   import org.apache.avalon.framework.service.ServiceManager;
8   import org.apache.avalon.framework.service.Serviceable;
9   import org.apache.commons.logging.Log;
10  import org.apache.commons.logging.LogFactory;
11  
12  
13  import br.com.ibnetwork.guara.pull.impl.ApplicationToolSupport;
14  import br.com.ibnetwork.guara.view.TemplateEngine;
15  
16  /***
17   * @author leandro
18   */
19  public class TemplateTool
20  	extends ApplicationToolSupport
21  	implements Serviceable
22  {
23      private Log logger = LogFactory.getLog(TemplateTool.class);
24      
25      private TemplateEngine engine;
26      
27      public void service(ServiceManager manager) 
28      	throws ServiceException
29      {
30          engine = (TemplateEngine) manager.lookup(TemplateEngine.ROLE);
31      }
32  
33      public String render(String templateName)
34      {
35          Writer writer = new StringWriter();
36          String result;
37          try
38          {
39              engine.merge(templateName,data.getContext(),writer);    
40              result = writer.toString();
41          }
42          catch(Exception e)
43          {
44              logger.error("Error rendering template ["+templateName+"]",e);
45              result = "Error rendering template <b>["+templateName+"]</b>."
46                  +"See <b>TemplateTool</b> log for details";
47          }
48          return result;
49      }
50      
51      public boolean templateExists(String templateName)
52      {
53          return engine.templateExists(templateName);
54      }
55  }