+++ /dev/null
-package org.argeo.security.ui.editors;
-
-import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
-import org.argeo.security.ArgeoUser;
-import org.argeo.security.SimpleArgeoUser;
-import org.argeo.security.nature.SimpleUserNature;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-
-/** Editor for an Argeo user. */
-public class ArgeoUserEditor extends FormEditor {
- public final static String ID = "org.argeo.security.ui.argeoUserEditor";
-
- private ArgeoUser user;
- private ArgeoSecurityService securityService;
-
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- super.init(site, input);
- String username = ((ArgeoUserEditorInput) getEditorInput())
- .getUsername();
- if (username == null) {// new
- user = new SimpleArgeoUser();
- user.getUserNatures().put(SimpleUserNature.TYPE,
- new SimpleUserNature());
- } else
- user = securityService.getUser(username);
- this.setPartProperty("name", username != null ? username : "<new user>");
- setPartName(username != null ? username : "<new user>");
- }
-
- protected void addPages() {
- try {
- addPage(new DefaultUserMainPage(this, securityService, user));
-
- } catch (PartInitException e) {
- throw new ArgeoException("Not able to add page ", e);
- }
- }
-
- @Override
- public void doSave(IProgressMonitor monitor) {
- // list pages
- // TODO: make it more generic
- findPage(DefaultUserMainPage.ID).doSave(monitor);
-
- if (securityService.userExists(user.getUsername()))
- securityService.updateUser(user);
- else {
- securityService.newUser(user);
- setPartName(user.getUsername());
- }
- firePropertyChange(PROP_DIRTY);
- }
-
- @Override
- public void doSaveAs() {
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return false;
- }
-
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
- }
-}