Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2014 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package ro.pippo.groovy;
 
 
 import java.io.Writer;
 import java.util.Map;
 
 
Groovy template engine for Pippo.

Author(s):
James Moger
 
 public class GroovyTemplateEngine implements TemplateEngine {
 
     private static final Logger log = LoggerFactory.getLogger(GroovyTemplateEngine.class);
 
     public static final String GROOVY = "groovy";
     public static final String FILE_SUFFIX = "." + ;
 
     private Languages languages;
     private Messages messages;
     private Router router;
 
     private MarkupTemplateEngine engine;
 
     @Override
     public void init(Application application) {
         this. = application.getLanguages();
         this. = application.getMessages();
         this. = application.getRouter();
 
         PippoSettings pippoSettings = application.getPippoSettings();
 
         TemplateConfiguration configuration = new TemplateConfiguration();
         configuration.setBaseTemplateClass(PippoGroovyTemplate.class);
         configuration.setAutoEscape(true);
 
         if (pippoSettings.isDev()) {
             // Do not cache templates in dev mode
             configuration.setCacheTemplates(false);
         } else {
             configuration.setAutoIndent(true);
             configuration.setAutoNewLine(true);
             configuration.setAutoIndentString("  ");
         }
 
         String pathPrefix = pippoSettings.getString(.null);
         if (StringUtils.isNullOrEmpty(pathPrefix)) {
             pathPrefix = .;
         }
         pathPrefix = StringUtils.removeStart(pathPrefix"/");
         pathPrefix = StringUtils.removeEnd(pathPrefix"/");
 
         GroovyTemplateResolver cachingResolver = new GroovyTemplateResolver(pathPrefix);
 
         ClassLoader classLoader = getClass().getClassLoader();
          = new MarkupTemplateEngine(classLoaderconfigurationcachingResolver);
     }
 
     @Override
     public void renderString(String templateContentMap<StringObjectmodelWriter writer) {
         try {
             Template groovyTemplate = .createTemplate(templateContent);
             PippoGroovyTemplate gt = ((PippoGroovyTemplategroovyTemplate.make(model));
             gt.setup();
             gt.writeTo(writer);
         } catch (Exception e) {
             .error("Error processing Groovy template {} "templateContente);
            throw new PippoRuntimeException(e);
        }
    }
    @Override
    public void renderResource(String templateNameMap<StringObjectmodelWriter writer) {
        if (templateName.indexOf('.') == -1) {
            templateName += ;
        }
        Template groovyTemplate;
        try {
            groovyTemplate = .createTemplateByPath(templateName);
        } catch (ClassNotFoundException | IOException | RuntimeException e) {
            .error("Error reading Groovy template {} "templateNamee);
            throw new PippoRuntimeException(e);
        }
        try {
            PippoGroovyTemplate gt = ((PippoGroovyTemplategroovyTemplate.make(model));
            gt.setup();
            gt.writeTo(writer);
        } catch (Exception e) {
            .error("Error processing Groovy template {} "templateNamee);
            throw new PippoRuntimeException(e);
        }
    }
New to GrepCode? Check out our FAQ X