View Javadoc

1   /*
2    * Copyright (C) 2007 Alf Mikula
3    * 
4    * This file is part of PromoteGo.
5    *
6    * PromoteGo is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * PromoteGo is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with PromoteGo.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.promotego.interceptors;
20  
21  import javax.servlet.http.HttpServletRequest;
22  import javax.servlet.http.HttpServletResponse;
23  
24  import org.promotego.beans.User;
25  import org.promotego.beans.UserHolder;
26  import org.promotego.dao.interfaces.UserDao;
27  import org.springframework.beans.factory.annotation.Required;
28  import org.springframework.web.servlet.ModelAndView;
29  import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
30  
31  /***
32   * @author alf
33   *
34   */
35  public class AddUserInterceptor extends
36  		HandlerInterceptorAdapter
37  {
38  	private UserHolder m_userHolder;
39  	private UserDao m_userDao;
40  
41  	@Override
42  	public void postHandle(HttpServletRequest request,
43  			HttpServletResponse response, Object handler,
44  			ModelAndView modelAndView) throws Exception
45  	{
46  		User user = m_userHolder.getUser();
47  		if (user != null)
48  		{
49  			modelAndView.addObject("loggedIn", true);
50  			modelAndView.addObject("user", user);
51  		}
52  	}
53  
54  	@Required
55  	public void setUserHolder(UserHolder userHolder)
56  	{
57  		m_userHolder = userHolder;
58  	}
59  
60  	@Required
61  	public void setUserDao(UserDao userDao)
62      {
63          m_userDao = userDao;
64      }
65  
66      @Override
67      public boolean preHandle(HttpServletRequest request,
68              HttpServletResponse response, Object handler) throws Exception
69      {
70          User user = m_userHolder.getUser();
71          if (user != null)
72          {
73              m_userDao.reattach(user);
74          }
75          
76          return true;
77      }
78  }