]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/editors/ArgeoUserEditor.java
All Commons modules building (Eclipse included)
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / editors / ArgeoUserEditor.java
index ebc08319e797e3475dbfaef09b348d3b0336d218..86ae86ae94a7ea5539299a84da7d1ca24dfd04ef 100644 (file)
@@ -15,6 +15,8 @@
  */
 package org.argeo.security.ui.admin.editors;
 
+import java.util.ArrayList;
+
 import javax.jcr.Node;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
@@ -33,7 +35,7 @@ import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.forms.editor.FormEditor;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.GrantedAuthority;
 
 /** Editor for an Argeo user. */
 public class ArgeoUserEditor extends FormEditor {
@@ -56,13 +58,17 @@ public class ArgeoUserEditor extends FormEditor {
                userProfile = UserJcrUtils.getUserProfile(session, username);
 
                if (userAdminService.userExists(username)) {
-                       userDetails = (JcrUserDetails) userAdminService
-                                       .loadUserByUsername(username);
+                       try {
+                               userDetails = (JcrUserDetails) userAdminService
+                                               .loadUserByUsername(username);
+                       } catch (Exception e) {
+                               throw new ArgeoException("Cannot retrieve userDetails for "
+                                               + username, e);
+                       }
                } else {
-                       GrantedAuthority[] authorities = {};
                        try {
                                userDetails = new JcrUserDetails(session, username, null,
-                                               authorities);
+                                               new ArrayList<GrantedAuthority>());
                        } catch (RepositoryException e) {
                                throw new ArgeoException("Cannot retrieve disabled JCR profile");
                        }
@@ -142,12 +148,12 @@ public class ArgeoUserEditor extends FormEditor {
                JcrUtils.logoutQuietly(session);
                super.dispose();
        }
-       
+
        /* DEPENDENCY INJECTION */
        public void setUserAdminService(UserAdminService userAdminService) {
                this.userAdminService = userAdminService;
        }
-       
+
        public void setRepository(Repository repository) {
                try {
                        session = repository.login();