Update and session management pattern for view and editor to remove old deprecated...
[lgpl/argeo-commons.git] / security / plugins / org.argeo.security.ui.admin / src / main / java / org / argeo / security / ui / admin / editors / ArgeoUserEditor.java
index c32553050b7a35f79b6f6aa3f13820a7e484ae51..9e564a4af515d2c7c7df4be7eab804fe3557985c 100644 (file)
@@ -16,6 +16,7 @@
 package org.argeo.security.ui.admin.editors;
 
 import javax.jcr.Node;
+import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
@@ -35,13 +36,16 @@ import org.springframework.security.GrantedAuthority;
 
 /** Editor for an Argeo user. */
 public class ArgeoUserEditor extends FormEditor {
-       public final static String ID = "org.argeo.security.ui.admin.adminArgeoUserEditor";
+       public final static String ID = SecurityAdminPlugin.PLUGIN_ID
+                       + ".adminArgeoUserEditor";
+
+       /* DEPENDENCY INJECTION */
+       private Session session;
+       private UserAdminService userAdminService;
 
-       private JcrUserDetails userDetails;
        // private Node userHome;
        private Node userProfile;
-       private UserAdminService userAdminService;
-       private Session session;
+       private JcrUserDetails userDetails;
 
        public void init(IEditorSite site, IEditorInput input)
                        throws PartInitException {
@@ -132,11 +136,16 @@ public class ArgeoUserEditor extends FormEditor {
                userRolesPage.refresh();
        }
 
+       /* DEPENDENCY INJECTION */
        public void setUserAdminService(UserAdminService userAdminService) {
                this.userAdminService = userAdminService;
        }
 
-       public void setSession(Session session) {
-               this.session = session;
+       public void setRepository(Repository repository) {
+               try {
+                       session = repository.login();
+               } catch (RepositoryException re) {
+                       throw new ArgeoException("Unable to initialise local session", re);
+               }
        }
 }