View Javadoc

1   /*
2    *  DISCLAIMER
3    */
4   package org.flowfuse.base.services.user.implementation;
5   
6   import net.sf.acegisecurity.UserDetails;
7   import net.sf.acegisecurity.providers.dao.AuthenticationDao;
8   import org.apache.commons.logging.Log;
9   import org.apache.commons.logging.LogFactory;
10  import org.flowfuse.base.dao.UserDao;
11  import org.flowfuse.base.model.user.User;
12  import org.flowfuse.base.services.right.RightsManagementService;
13  import org.flowfuse.base.services.user.UserManagementService;
14  import org.springmodules.workflow.osworkflow.OsWorkflowContextHolder;
15  
16  /***
17   * @author <a href="stefan@flowfuse.org">Stefan Kleineikenscheidt</a>,
18   *         Flowfuse.org
19   * @version $Id: UserManagementServiceImpl.java,v 1.1 2005/11/20 15:02:21 skleinei Exp $
20   */
21  public class UserManagementServiceImpl implements UserManagementService, AuthenticationDao {
22  
23    /***
24     * RCS ID
25     */
26    public final static String rcsid = "$Id: UserManagementServiceImpl.java,v 1.1 2005/11/20 15:02:21 skleinei Exp $";
27  
28    /***
29     * Logger
30     */
31    protected final Log logger = LogFactory.getLog(this.getClass());
32  
33    /***
34     * WorkflowInstance Dao
35     */
36    private UserDao userDao = null;
37  
38    private RightsManagementService rightsManagementService = null;
39  
40    public User getUser() {
41      String username = OsWorkflowContextHolder.getWorkflowContext().getCaller();
42      return (User) loadUserByUsername(username);
43    }
44  
45    /***
46     * Allow for Acegi Authentication
47     *
48     * @param username
49     * @return
50     * @see net.sf.acegisecurity.UserDetails
51     */
52    public UserDetails loadUserByUsername(String username) {
53      User user = userDao.getUserByUserName(username);
54  
55      // inject RightsManagementService into user
56      user.setRightsManagementService(rightsManagementService);
57      return user;
58    }
59  
60    // -- Dependency injection setter --------------------------------------
61  
62    /***
63     * Injects dependency (see <a href="http://www.springframework.org">
64     * http://www.springframework.org</a>).
65     *
66     * @param userDao
67     */
68    public void setUserDao(UserDao userDao) {
69      this.userDao = userDao;
70    }
71  
72    /***
73     * Retrieves dependency (see <a href="http://www.springframework.org">
74     * http://www.springframework.org</a>).
75     *
76     * @return
77     */
78    public UserDao getUserDao() {
79      return userDao;
80    }
81  
82    /***
83     * Retrieves dependency (see <a href="http://www.springframework.org">
84     * http://www.springframework.org</a>).
85     *
86     * @return
87     */
88    public RightsManagementService getRightsManagementService() {
89      return rightsManagementService;
90    }
91  
92    /***
93     * Injects dependency (see <a href="http://www.springframework.org">
94     * http://www.springframework.org</a>).
95     *
96     * @param rightsManagementService
97     */
98    public void setRightsManagementService(
99            RightsManagementService rightsManagementService) {
100     this.rightsManagementService = rightsManagementService;
101   }
102 
103 }
104 
105 /* EOF */