- if (username == null) {// new
- user = new SimpleArgeoUser();
- user.getUserNatures().put(SimpleUserNature.TYPE,
- new SimpleUserNature());
- } else
- user = userAdminService.getUser(username);
+ userHome = JcrUtils.getUserHome(session, username);
+
+ if (userAdminService.userExists(username)) {
+ userDetails = (JcrUserDetails) userAdminService
+ .loadUserByUsername(username);
+ } else {
+ GrantedAuthority[] authorities = {};
+ try {
+ userDetails = new JcrUserDetails(session, username, null,
+ authorities);
+ } catch (RepositoryException e) {
+ throw new ArgeoException("Cannot retrieve disabled JCR profile");
+ }
+ }
+