001 package com.khubla.pragmatach.plugin.thymeleaf; 002 003 import java.io.InputStream; 004 005 import javax.servlet.ServletContext; 006 007 import org.thymeleaf.TemplateProcessingParameters; 008 import org.thymeleaf.resourceresolver.IResourceResolver; 009 010 import com.khubla.pragmatach.framework.resourceloader.DefaultResourceLoaderImpl; 011 import com.khubla.pragmatach.framework.resourceloader.ResourceLoader; 012 013 /** 014 * @author tome 015 */ 016 public class PragmatachResourceResolver implements IResourceResolver { 017 /** 018 * ServletContext 019 */ 020 private final ServletContext servletContext; 021 022 public PragmatachResourceResolver(ServletContext servletContext) { 023 this.servletContext = servletContext; 024 } 025 026 @Override 027 public String getName() { 028 return this.getClass().getSimpleName(); 029 } 030 031 @Override 032 public InputStream getResourceAsStream(TemplateProcessingParameters templateProcessingParameters, String resourceName) { 033 try { 034 final ResourceLoader resourceLoader = new DefaultResourceLoaderImpl(servletContext); 035 final InputStream is = resourceLoader.getResource(resourceName); 036 return is; 037 } catch (final Exception e) { 038 throw new RuntimeException("Cannot open resource '" + resourceName + "'", e); 039 } 040 } 041 }