]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/editors/ArgeoUserEditor.java
First clean version of the security UI, also tested with RAP
[lgpl/argeo-commons.git] / security / eclipse / plugins / org.argeo.security.ui / src / main / java / org / argeo / security / ui / editors / ArgeoUserEditor.java
1 package org.argeo.security.ui.editors;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.argeo.ArgeoException;
6 import org.argeo.security.ArgeoSecurityService;
7 import org.argeo.security.ArgeoUser;
8 import org.eclipse.core.runtime.IProgressMonitor;
9 import org.eclipse.ui.IEditorInput;
10 import org.eclipse.ui.IEditorSite;
11 import org.eclipse.ui.PartInitException;
12 import org.eclipse.ui.forms.editor.FormEditor;
13
14 /** Editor for an Argeo user. */
15 public class ArgeoUserEditor extends FormEditor {
16 private final static Log log = LogFactory.getLog(ArgeoUserEditor.class);
17
18 public final static String ID = "org.argeo.security.ui.argeoUserEditor";
19
20 private ArgeoUser user;
21 private ArgeoSecurityService securityService;
22
23 public void init(IEditorSite site, IEditorInput input)
24 throws PartInitException {
25 super.init(site, input);
26 String username = ((ArgeoUserEditorInput) getEditorInput())
27 .getUsername();
28 user = securityService.getSecurityDao().getUser(username);
29 this.setPartProperty("name", username);
30 setPartName(username);
31 }
32
33 protected void addPages() {
34 try {
35 addPage(new DefaultUserMainPage(this, securityService, user));
36
37 } catch (PartInitException e) {
38 throw new ArgeoException("Not able to add page ", e);
39 }
40 }
41
42 @Override
43 public void doSave(IProgressMonitor monitor) {
44 if (log.isDebugEnabled())
45 log.debug("doSave called");
46 // for (int i = 0; i < getPageCount(); i++) {
47 // IEditorPart editor = getEditor(i);
48 // if (editor != null)
49 // editor.doSave(monitor);
50 // }
51 findPage(DefaultUserMainPage.ID).doSave(monitor);
52
53 securityService.updateUser(user);
54 firePropertyChange(PROP_DIRTY);
55 }
56
57 @Override
58 public void doSaveAs() {
59 }
60
61 @Override
62 public boolean isSaveAsAllowed() {
63 return false;
64 }
65
66 public void setSecurityService(ArgeoSecurityService securityService) {
67 this.securityService = securityService;
68 }
69 }