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.controllers;
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.promotego.editors.BeanIdEditor;
28  import org.springframework.beans.factory.annotation.Required;
29  import org.springframework.transaction.annotation.Transactional;
30  import org.springframework.validation.BindException;
31  import org.springframework.web.bind.ServletRequestDataBinder;
32  import org.springframework.web.servlet.ModelAndView;
33  import org.springframework.web.servlet.mvc.AbstractCommandController;
34  
35  public class UserProfileController extends AbstractCommandController
36  {
37      private UserDao m_userDao;
38  
39      @Transactional
40      @Override
41      protected ModelAndView handle(HttpServletRequest request,
42              HttpServletResponse response, Object command, BindException errors)
43              throws Exception
44      {
45          User theUser = ((UserHolder)command).getUser();
46          
47          return new ModelAndView("userProfile", "profileUser", theUser);
48      }
49  
50      @Override
51      protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception
52      {
53          binder.registerCustomEditor(User.class, new BeanIdEditor<User>(m_userDao));
54          
55          super.initBinder(request, binder);
56      }
57  
58      @Required
59      public void setUserDao(UserDao userDao)
60      {
61          m_userDao = userDao;
62      }
63  }