X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=security%2Fplugins%2Forg.argeo.security.ui.admin%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Feditors%2FArgeoUserEditorInput.java;h=51aeeef80f314f1937b0d0717b46012ad43f6a5d;hb=2f510fb09e18bc3d3e902c8131d0037763c5f279;hp=8812ee36abf126928faac562b7cb8f9e8d1c3586;hpb=04680d8fdd4964546c8691cb9da8bba7ac99a014;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditorInput.java b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditorInput.java index 8812ee36a..51aeeef80 100644 --- a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditorInput.java +++ b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditorInput.java @@ -1,5 +1,12 @@ package org.argeo.security.ui.admin.editors; +import javax.jcr.Node; +import javax.jcr.PathNotFoundException; +import javax.jcr.RepositoryException; +import javax.jcr.ValueFormatException; + +import org.argeo.ArgeoException; +import org.argeo.jcr.ArgeoNames; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPersistableElement; @@ -7,9 +14,23 @@ import org.eclipse.ui.IPersistableElement; /** Editor input for an Argeo user. */ public class ArgeoUserEditorInput implements IEditorInput { private final String username; + private final Node userHome; + @Deprecated public ArgeoUserEditorInput(String username) { this.username = username; + this.userHome = null; + } + + public ArgeoUserEditorInput(Node userHome) { + try { + this.username = userHome.getProperty(ArgeoNames.ARGEO_USER_ID) + .getString(); + this.userHome = userHome; + } catch (RepositoryException e) { + throw new ArgeoException("Cannot initialize editor input for " + + userHome, e); + } } public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) { @@ -48,4 +69,8 @@ public class ArgeoUserEditorInput implements IEditorInput { return username; } + public Node getUserHome() { + return userHome; + } + }