From b1d247835af258dd8547aa55cb2100f19069cb9a Mon Sep 17 00:00:00 2001 From: Ben Alex Date: Thu, 10 Nov 2005 00:41:54 +0000 Subject: [PATCH] Stop causing an exception when there is no AuthenticationException to ApplicationEvent mapping. Requested by Brian Moseley on acegisecurity-developer 10 November 2005. --- .../acegisecurity/providers/ProviderManager.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/acegisecurity/providers/ProviderManager.java b/core/src/main/java/org/acegisecurity/providers/ProviderManager.java index 2abed4569d..d14fbf324f 100644 --- a/core/src/main/java/org/acegisecurity/providers/ProviderManager.java +++ b/core/src/main/java/org/acegisecurity/providers/ProviderManager.java @@ -200,7 +200,7 @@ public class ProviderManager extends AbstractAuthenticationManager exceptionMappings.put(BadCredentialsException.class.getName(), AuthenticationFailureBadCredentialsEvent.class.getName()); exceptionMappings.put(UsernameNotFoundException.class.getName(), - AuthenticationFailureBadCredentialsEvent.class.getName()); + AuthenticationFailureBadCredentialsEvent.class.getName()); exceptionMappings.put(ConcurrentLoginException.class.getName(), AuthenticationFailureConcurrentLoginEvent.class.getName()); exceptionMappings.put(ProviderNotFoundException.class.getName(), @@ -295,10 +295,14 @@ public class ProviderManager extends AbstractAuthenticationManager catch (InvocationTargetException ignored) {} } - Assert.notNull(event, - "A valid event must be available for the exception " - + lastException.getClass().getName()); - applicationEventPublisher.publishEvent(event); + if (event != null) { + applicationEventPublisher.publishEvent(event); + } else { + if (logger.isDebugEnabled()) { + logger.debug("No event was found for the exception " + + lastException.getClass().getName()); + } + } // Throw the exception throw lastException;