Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-11349

Assigning a service to ActiveDirectory user will throw NPE

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 13.0.0, 13.5.0
    • Fix Version/s: 13.5.2, 14.1.2
    • Component/s: idrepo
    • Labels:
    • Sprint:
      AM Sustaining Sprint 40, AM Sustaining Sprint 41
    • Story Points:
      2
    • Needs backport:
      Yes
    • Support Ticket IDs:
    • Verified Version/s:
    • Needs QA verification:
      Yes
    • Functional tests:
      Yes
    • Are the reproduction steps defined?:
      Yes and I used the same an in the description

      Description

      When trying to add service to user (ie. Dashboard service) whose profile is stored in Active Directory Databas, DJLDAPv3Repo throws NPE :

      ERROR: ConsoleServletBase.onUncaughtException
      java.lang.NullPointerException
              at java.util.AbstractCollection.addAll(AbstractCollection.java:341)
              at org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo.assignService(DJLDAPv3Repo.java:1746)
              at com.sun.identity.idm.server.IdServicesImpl.assignService(IdServicesImpl.java:1942)
              at com.sun.identity.idm.AMIdentity.assignService(AMIdentity.java:713)
              at com.sun.identity.console.idm.model.EntitiesModelImpl.assignService(EntitiesModelImpl.java:1531)
              at com.sun.identity.console.idm.ServicesAddViewBean.handleButton2Request(ServicesAddViewBean.java:113)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at com.iplanet.jato.view.command.DefaultRequestHandlingCommand.execute(DefaultRequestHandlingCommand.java:183)
              at com.iplanet.jato.view.RequestHandlingViewBase.handleRequest(RequestHandlingViewBase.java:308)
              at com.iplanet.jato.view.ViewBeanBase.dispatchInvocation(ViewBeanBase.java:802)
              at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewBeanBase.java:740)
              at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandler(ViewBeanBase.java:571)
              at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:957)
              at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:615)
              at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:473)
      

       

      This is because Active Directory stores "objectclass" as "objectClass" and DJLDAPv3Repo.assignService() expects "objectclass (all lowercase)".

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sachiko Sachiko Wallace
                Reporter:
                sachiko Sachiko Wallace
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: