- public String getHomePath() {
- return homePath;
- }
-
- public static JcrUserDetails argeoUserToJcrUserDetails(
- JcrArgeoUser argeoUser) {
- try {
- List<GrantedAuthority> gas = new ArrayList<GrantedAuthority>();
- for (String role : argeoUser.getRoles())
- gas.add(new GrantedAuthorityImpl(role));
- return new JcrUserDetails(argeoUser.getHome().getPath(),
- argeoUser.getUsername(), argeoUser.getPassword(),
- argeoUser.getEnabled(), true, true, true,
- gas.toArray(new GrantedAuthority[gas.size()]));
- } catch (Exception e) {
- throw new ArgeoException("Cannot convert " + argeoUser
- + " to JCR user details", e);
- }
- }
-
- public static JcrArgeoUser jcrUserDetailsToArgeoUser(Session userSession,
- JcrUserDetails jcrUserDetails) {
- if (!userSession.getUserID().equals(jcrUserDetails.getUsername()))
- throw new ArgeoException("User session has user id "
- + userSession.getUserID() + " while details has username "
- + jcrUserDetails.getUsername());
-
- Node userHome;
- try {
- userHome = userSession.getNode(jcrUserDetails.getHomePath());
- } catch (RepositoryException e) {
- throw new ArgeoException("Cannot retrieve user home with path "
- + jcrUserDetails.getHomePath(), e);
- }
- List<String> roles = new ArrayList<String>();
- for (GrantedAuthority ga : jcrUserDetails.getAuthorities())
- roles.add(ga.getAuthority());
- return new JcrArgeoUser(userHome, jcrUserDetails.getPassword(), roles,
- jcrUserDetails.isEnabled());
-
- }
-