001 package com.khubla.pragmatach.framework.controller.impl.system; 002 003 import java.util.HashMap; 004 import java.util.Map; 005 006 import com.khubla.pragmatach.framework.annotation.Controller; 007 import com.khubla.pragmatach.framework.api.PragmatachException; 008 import com.khubla.pragmatach.framework.api.Response; 009 import com.khubla.pragmatach.framework.controller.impl.template.SimpleTemplateController; 010 011 /** 012 * @author tome 013 */ 014 @Controller(name = "pragmatachHttpErrorController") 015 public class HttpErrorController extends SimpleTemplateController { 016 /** 017 * Exception 018 */ 019 private final Exception exception; 020 021 /** 022 * ctor 023 */ 024 public HttpErrorController(Exception e) { 025 exception = e; 026 } 027 028 public Response render() throws PragmatachException { 029 try { 030 final Map<String, String> parameters = new HashMap<String, String>(); 031 parameters.put("message", exception.getMessage()); 032 final String trace = PragmatachException.getExceptionTrace(exception); 033 parameters.put("trace", trace); 034 return template("system/error.html", parameters); 035 } catch (final Exception e) { 036 throw new PragmatachException("Exception in render", e); 037 } 038 } 039 }