001 package org.tynamo.exceptionpage.services; 002 003 import java.io.IOException; 004 import java.util.Properties; 005 006 import org.apache.tapestry5.internal.services.LinkSource; 007 import org.apache.tapestry5.ioc.ServiceBinder; 008 import org.apache.tapestry5.services.ComponentClassResolver; 009 import org.apache.tapestry5.services.Request; 010 import org.apache.tapestry5.services.RequestExceptionHandler; 011 import org.apache.tapestry5.services.Response; 012 013 public class ExceptionPageModule { 014 private static final String version; 015 static { 016 Properties moduleProperties = new Properties(); 017 String aVersion = "unversioned"; 018 try { 019 moduleProperties.load(ExceptionPageModule.class.getResourceAsStream("module.properties")); 020 aVersion = moduleProperties.getProperty("module.version"); 021 } catch (IOException e) { 022 // ignore 023 } 024 version = aVersion; 025 } 026 027 public static void bind(ServiceBinder binder) { 028 binder.bind(ExceptionHandler.class, ExceptionHandlerImpl.class); 029 } 030 031 public RequestExceptionHandler decorateRequestExceptionHandler(ComponentClassResolver componentClassResolver, LinkSource linkSource, 032 Request request, Response response, ExceptionHandler exceptionHandler, Object service) { 033 return new ConfigurableRequestExceptionHandler((RequestExceptionHandler) service, componentClassResolver, linkSource, request, 034 response, exceptionHandler); 035 } 036 037 }