Clover coverage report - Acegi Security System for Spring - 1.0.0-RC1
Coverage timestamp: Mon Dec 5 2005 09:05:15 EST
file stats: LOC: 64   Methods: 1
NCLOC: 26   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
LoggerListener.java 66.7% 100% 100% 85.7%
coverage coverage
 1    /* Copyright 2004, 2005 Acegi Technology Pty Limited
 2    *
 3    * Licensed under the Apache License, Version 2.0 (the "License");
 4    * you may not use this file except in compliance with the License.
 5    * You may obtain a copy of the License at
 6    *
 7    * http://www.apache.org/licenses/LICENSE-2.0
 8    *
 9    * Unless required by applicable law or agreed to in writing, software
 10    * distributed under the License is distributed on an "AS IS" BASIS,
 11    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    * See the License for the specific language governing permissions and
 13    * limitations under the License.
 14    */
 15   
 16    package org.acegisecurity.event.authentication;
 17   
 18    import org.apache.commons.logging.Log;
 19    import org.apache.commons.logging.LogFactory;
 20   
 21    import org.springframework.context.ApplicationEvent;
 22    import org.springframework.context.ApplicationListener;
 23   
 24    import org.springframework.util.ClassUtils;
 25   
 26   
 27    /**
 28    * Outputs authentication-related application events to Commons Logging.
 29    *
 30    * <P>
 31    * All authentication events are logged at the warning level.
 32    * </p>
 33    *
 34    * @author Ben Alex
 35    * @version $Id: LoggerListener.java,v 1.3 2005/12/02 12:14:38 benalex Exp $
 36    */
 37    public class LoggerListener implements ApplicationListener {
 38    //~ Static fields/initializers =============================================
 39   
 40    private static final Log logger = LogFactory.getLog(LoggerListener.class);
 41   
 42    //~ Methods ================================================================
 43   
 44  25 public void onApplicationEvent(ApplicationEvent event) {
 45  25 if (event instanceof AbstractAuthenticationEvent) {
 46  1 AbstractAuthenticationEvent authEvent = (AbstractAuthenticationEvent) event;
 47   
 48  1 if (logger.isWarnEnabled()) {
 49  1 String message = "Authentication event "
 50    + ClassUtils.getShortName(authEvent.getClass()) + ": "
 51    + authEvent.getAuthentication().getName() + "; details: "
 52    + authEvent.getAuthentication().getDetails();
 53   
 54  1 if (event instanceof AbstractAuthenticationFailureEvent) {
 55  1 message = message + "; exception: "
 56    + ((AbstractAuthenticationFailureEvent) event).getException()
 57    .getMessage();
 58    }
 59   
 60  1 logger.warn(message);
 61    }
 62    }
 63    }
 64    }