cancel
Showing results for 
Search instead for 
Did you mean: 

Name & Surname of the current user

redbull
Champ in-the-making
Champ in-the-making
Hi all.
From my class after that I read the current username:

// get the current user
FacesContext context = FacesContext.getCurrentInstance();
String currentUserName = Repository.getServiceRegistry(context).getAuthenticationService().getCurrentUserName();
how I can get "name" and "surname" of "currentUserName"?
Thanks a lot!
3 REPLIES 3

mrogers
Star Contributor
Star Contributor
Use the person service to get the person node then read the properties you need.

redbull
Champ in-the-making
Champ in-the-making
I tried this:
         
FacesContext context = FacesContext.getCurrentInstance();
String currentUserName = Repository.getServiceRegistry(context).getAuthenticationService().getCurrentUserName();
NodeRef person = personService.getPerson(currentUserName);
String userName = (String) nodeService.getProperty(person, ContentModel.PROP_LASTNAME);
but it goes in error on "NodeRef person = personService……..".
This is the log:
    11:37:00,406 User:admin ERROR [ui.common.Utils] A system error happened during t
    he operation: null
    java.lang.NullPointerException
            at com.piffer.action.executer.SetFlag.executeImpl(SetFlag.
    java:55)
            at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(
    ActionExecuterAbstractBase.java:133)
            at com.piffer.web.bean.SettingBean.setActive(SettingBean.java:
    79)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java
    :132)
            at javax.faces.component.UICommand.broadcast(UICommand.java:89)
            at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:9
    7)
            at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1
    71)
            at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(Invoke
    ApplicationExecutor.java:32)
            at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl
    .java:95)
            at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java
    :70)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:206)
            at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(Authentica
    tionFilter.java:104)
            at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory
    $1.invoke(ChainingSubsystemProxyFactory.java:116)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
    ReflectiveMethodInvocation.java:172)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
    cAopProxy.java:202)
            at $Proxy196.doFilter(Unknown Source)
            at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxy
    Filter.java:82)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:206)
            at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.jav
    a:68)
            at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory
    $1.invoke(ChainingSubsystemProxyFactory.java:116)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
    ReflectiveMethodInvocation.java:172)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
    cAopProxy.java:202)
            at $Proxy196.doFilter(Unknown Source)
            at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxy
    Filter.java:82)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:191)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:286)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
    :845)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
    ss(Http11Protocol.java:583)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
    7)
            at java.lang.Thread.run(Thread.java:619)
Is the code correct, to get the person node?
Thank

romschn
Star Collaborator
Star Collaborator
Try getting the personservice using following way and see if it works for you or not.

NodeRef person = Repository.getServiceRegistry(context).getPersonService().getPerson(currentUserName);

Thanks,