View Javadoc

1   package org.kuali.common.util;
2   
3   import org.apache.commons.lang3.StringUtils;
4   import org.kuali.common.util.obscure.DefaultObscurer;
5   import org.kuali.common.util.obscure.Obscurer;
6   import org.kuali.common.util.property.Constants;
7   import org.slf4j.Logger;
8   
9   public class LoggerUtils {
10  
11  	private static final Obscurer DEFAULT_OBSCURER = new DefaultObscurer();
12  
13  	public static final String getUsername(String username) {
14  		return getNullAsNone(username);
15  	}
16  
17  	public static final String getNullAsNone(String string) {
18  		if (string == null) {
19  			return Constants.NONE;
20  		} else {
21  			return string;
22  		}
23  	}
24  
25  	public static final String getPassword(String username, String password) {
26  		return getPassword(username, password, DEFAULT_OBSCURER);
27  	}
28  
29  	public static final String getPassword(String username, String password, Obscurer obscurer) {
30  		if (password == null) {
31  			// There is no password, return NONE
32  			return Constants.NONE;
33  		} else if (StringUtils.equals(username, password)) {
34  			// Not exactly high security, display the clear text value
35  			return password;
36  		} else {
37  			// Otherwise obscure it
38  			return obscurer.obscure(password);
39  		}
40  	}
41  
42  	public static final void logUsername(Logger logger, String prefix, String username) {
43  		logger.info("{} - {}", prefix, getUsername(username));
44  	}
45  
46  	public static final void logPassword(Logger logger, String prefix, String username, String password) {
47  		logPassword(logger, prefix, username, password, DEFAULT_OBSCURER);
48  	}
49  
50  	public static final void logPassword(Logger logger, String prefix, String username, String password, Obscurer obscurer) {
51  		logger.info("{} - {}", prefix, getPassword(username, password, obscurer));
52  	}
53  
54  	/**
55  	 * Log <code>null</code> as <code>NONE</code>
56  	 */
57  	public static final void logNullAsNone(Logger logger, String prefix) {
58  		logger.info("{} - {}", prefix, Constants.NONE);
59  	}
60  
61  }