/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.web.beans; import java.util.HashMap; import org.esupportail.commons.utils.Assert; import org.esupportail.helpdesk.domain.beans.User; import org.esupportail.helpdesk.domain.userFormatting.UserFormattingService; import org.esupportail.helpdesk.web.controllers.SessionController; import org.springframework.beans.factory.InitializingBean; /** * A session-scoped bean used to format users. */ public class UserFormatter extends HashMap<User, String> implements InitializingBean { /** * The serialization id. */ private static final long serialVersionUID = -4306607204224535675L; /** * The user formatting service. */ private UserFormattingService userFormattingService; /** * The session controller. */ private SessionController sessionController; /** * Bean constructor. */ public UserFormatter() { super(); } /** * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */ @Override public void afterPropertiesSet() { Assert.notNull(sessionController, "property sessionController of class " + this.getClass().getName() + " can not be null"); Assert.notNull(userFormattingService, "property userFormattingService of class " + this.getClass().getName() + " can not be null"); } /** * @see java.util.HashMap#get(java.lang.Object) */ @Override public String get(final Object o) { if (o == null) { return null; } if (!(o instanceof User)) { return null; } return userFormattingService.format((User) o, sessionController.getLocale()); } /** * @return the sessionController */ protected SessionController getSessionController() { return sessionController; } /** * @param sessionController the sessionController to set */ public void setSessionController(final SessionController sessionController) { this.sessionController = sessionController; } /** * @return the userFormattingService */ protected UserFormattingService getUserFormattingService() { return userFormattingService; } /** * @param userFormattingService the userFormattingService to set */ public void setUserFormattingService(final UserFormattingService userFormattingService) { this.userFormattingService = userFormattingService; } }