Return-Path: X-Original-To: apmail-deltaspike-commits-archive@www.apache.org Delivered-To: apmail-deltaspike-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 08EBC11837 for ; Fri, 12 Sep 2014 13:28:33 +0000 (UTC) Received: (qmail 44508 invoked by uid 500); 12 Sep 2014 13:28:32 -0000 Delivered-To: apmail-deltaspike-commits-archive@deltaspike.apache.org Received: (qmail 44445 invoked by uid 500); 12 Sep 2014 13:28:32 -0000 Mailing-List: contact commits-help@deltaspike.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltaspike.apache.org Delivered-To: mailing list commits@deltaspike.apache.org Received: (qmail 44393 invoked by uid 99); 12 Sep 2014 13:28:32 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Sep 2014 13:28:32 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id D213EA11501; Fri, 12 Sep 2014 13:28:31 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: gpetracek@apache.org To: commits@deltaspike.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: git commit: DELTASPIKE-717 invocation of exception handlers without error-view Date: Fri, 12 Sep 2014 13:28:31 +0000 (UTC) Repository: deltaspike Updated Branches: refs/heads/master 5865f8cbf -> ab90cc4ee DELTASPIKE-717 invocation of exception handlers without error-view Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/ab90cc4e Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/ab90cc4e Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/ab90cc4e Branch: refs/heads/master Commit: ab90cc4ee677e5bfc609ceed3708780cf2d97c0d Parents: 5865f8c Author: gpetracek Authored: Fri Sep 12 15:27:07 2014 +0200 Committer: gpetracek Committed: Fri Sep 12 15:27:17 2014 +0200 ---------------------------------------------------------------------- .../impl/security/SecurityAwareViewHandler.java | 23 ++++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/ab90cc4e/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/security/SecurityAwareViewHandler.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/security/SecurityAwareViewHandler.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/security/SecurityAwareViewHandler.java index 0ada120..1f29e09 100644 --- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/security/SecurityAwareViewHandler.java +++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/security/SecurityAwareViewHandler.java @@ -122,21 +122,26 @@ public class SecurityAwareViewHandler extends ViewHandlerWrapper implements Deac ViewConfigDescriptor errorViewDescriptor = viewConfigResolver .getViewConfigDescriptor(accessDeniedException.getErrorView()); - if (errorViewDescriptor != null && View.NavigationMode.REDIRECT == + try + { + if (errorViewDescriptor != null && View.NavigationMode.REDIRECT == errorViewDescriptor.getMetaData(View.class).iterator().next().navigation() /*always available*/ && BeanProvider.getContextualReference(JsfModuleConfig.class) - .isAlwaysUseNavigationHandlerOnSecurityViolation()) - { - SecurityUtils.tryToHandleSecurityViolation(accessDeniedException); - errorView = errorViewDescriptor.getConfigClass(); + .isAlwaysUseNavigationHandlerOnSecurityViolation()) + { + SecurityUtils.tryToHandleSecurityViolation(accessDeniedException); + errorView = errorViewDescriptor.getConfigClass(); + } + else + { + errorView = SecurityUtils.handleSecurityViolationWithoutNavigation(accessDeniedException); + } } - else + finally { - errorView = SecurityUtils.handleSecurityViolationWithoutNavigation(accessDeniedException); + broadcastAccessDeniedException(accessDeniedException); } - broadcastAccessDeniedException(accessDeniedException); - return this.wrapped.createView(context, viewConfigResolver.getViewConfigDescriptor(errorView).getViewId()); } finally