📄 usermanagerimpl.java
字号:
package org.appfuse.service.impl;import java.util.List;import org.apache.commons.lang.StringUtils;import org.appfuse.dao.UserDAO;import org.appfuse.model.User;import org.appfuse.model.UserCookie;import org.appfuse.service.UserExistsException;import org.appfuse.service.UserManager;import org.appfuse.util.RandomGUID;import org.appfuse.util.StringUtil;import org.springframework.dao.DataIntegrityViolationException;/** * Implementation of UserManager interface.</p> * * <p> * <a href="UserManagerImpl.java.html"><i>View Source</i></a> * </p> * * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a> */public class UserManagerImpl extends BaseManager implements UserManager { private UserDAO dao; /** * Set the DAO for communication with the data layer. * @param dao */ public void setUserDAO(UserDAO dao) { this.dao = dao; } /** * @see org.appfuse.service.UserManager#getUser(java.lang.String) */ public User getUser(String username) { return dao.getUser(username); } /** * @see org.appfuse.service.UserManager#getUsers(org.appfuse.model.User) */ public List getUsers(User user) { return dao.getUsers(user); } /** * @see org.appfuse.service.UserManager#saveUser(org.appfuse.model.User) */ public void saveUser(User user) throws UserExistsException { try { dao.saveUser(user); } catch (DataIntegrityViolationException e) { throw new UserExistsException("User '" + user.getUsername() + "' already exists!"); } } /** * @see org.appfuse.service.UserManager#removeUser(java.lang.String) */ public void removeUser(String username) { if (log.isDebugEnabled()) { log.debug("removing user: " + username); } dao.removeUser(username); } /** * @see org.appfuse.service.UserManager#checkLoginCookie(java.lang.String) */ public String checkLoginCookie(String value) { value = StringUtil.decodeString(value); String[] values = StringUtils.split(value, "|"); // in case of empty username in cookie, return null if (values.length == 1) { return null; } if (log.isDebugEnabled()) { log.debug("looking up cookieId: " + values[1]); } UserCookie cookie = new UserCookie(); cookie.setUsername(values[0]); cookie.setCookieId(values[1]); cookie = dao.getUserCookie(cookie); if (cookie != null) { if (log.isDebugEnabled()) { log.debug("cookieId lookup succeeded, generating new cookieId"); } return saveLoginCookie(cookie); } else { if (log.isDebugEnabled()) { log.debug("cookieId lookup failed, returning null"); } return null; } } /** * @see org.appfuse.service.UserManager#createLoginCookie(java.lang.String) */ public String createLoginCookie(String username) { UserCookie cookie = new UserCookie(); cookie.setUsername(username); return saveLoginCookie(cookie); } /** * Convenience method to set a unique cookie id and save to database * @param cookie * @return */ private String saveLoginCookie(UserCookie cookie) { cookie.setCookieId(new RandomGUID().toString()); dao.saveUserCookie(cookie); return StringUtil.encodeString(cookie.getUsername() + "|" + cookie.getCookieId()); } /** * @see org.appfuse.service.UserManager#removeLoginCookies(java.lang.String) */ public void removeLoginCookies(String username) { dao.removeUserCookies(username); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -