Updated Branches:
refs/heads/master 549b148f9 - ae473c840
FIXED - TAP5-2267: Contributing ExceptionHandlerAssistant instances to
RequestExceptionHandler is broken
- apply Dragan Sahpaski's patch with test that allows contributing
assistant instances to the DefautlRequestExceptionHandler
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ae473c84
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ae473c84
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ae473c84
Branch: refs/heads/master
Commit: ae473c840b9f425d8470dd0e8fd44d99e20be1a0
Parents: 549b148
Author: kaosko kao...@apache.org
Authored: Sat Dec 28 23:39:06 2013 -0800
Committer: kaosko kao...@apache.org
Committed: Sat Dec 28 23:39:06 2013 -0800
--
.../internal/services/DefaultRequestExceptionHandler.java| 2 +-
.../services/DefaultRequestExceptionHandlerTest.java | 8 +++-
2 files changed, 8 insertions(+), 2 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ae473c84/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
--
diff --git
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
index 897b3b2..62a8708 100644
---
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
+++
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandler.java
@@ -113,7 +113,7 @@ public class DefaultRequestExceptionHandler implements
RequestExceptionHandler
throw new IllegalArgumentException(Throwable.class.getName() +
is the only allowable key type but + entry.getKey().getName()
+ was contributed);
-if (ExceptionHandlerAssistant.class.isAssignableFrom((Class)
entry.getValue()))
+if (entry.getValue() instanceof Class
ExceptionHandlerAssistant.class.isAssignableFrom((Class) entry.getValue()))
{
@SuppressWarnings(unchecked)
ClassExceptionHandlerAssistant handlerType =
(ClassExceptionHandlerAssistant) entry.getValue();
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ae473c84/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
--
diff --git
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
index b9bf0c9..d458e1c 100644
---
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
+++
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DefaultRequestExceptionHandlerTest.java
@@ -75,6 +75,13 @@ public class DefaultRequestExceptionHandlerTest extends
InternalBaseTestCase {
componentClassResolver = mockComponentClassResolver();
linkSource = mockLinkSource();
serviceResources = mockServiceResources();
+ mockConfiguration.put(AccessControlException.class, MyPage.class);
+mockConfiguration.put(MyContextAwareException.class, new
ExceptionHandlerAssistant() {
+ public Object
handleRequestException(Throwable exception, ListObject exceptionContext)
+ throws IOException {
+ return null;
+ }
+ });
exceptionHandler = new DefaultRequestExceptionHandler(pageCache,
renderer, logger, exceptionpage, request, response, componentClassResolver,
linkSource, serviceResources, mockConfiguration);
}
@@ -117,7 +124,6 @@ public class DefaultRequestExceptionHandlerTest extends
InternalBaseTestCase {
@Test
public void handleRequestExceptionWithConfiguredPage() throws
IOException {
- mockConfiguration.put(AccessControlException.class, MyPage.class);
train_resolvePageClassNameToPageName(componentClassResolver,
MyPage.class.getName(), mypage );
Link link = mockLink();
expect(linkSource.createPageRenderLink(mypage, false, new
Object[]{accesscontrol})).andReturn(link);