Martin van Es created SYNCOPE-598:
-------------------------------------

             Summary: Push Task fails on role with LDAP resource with 
rolemapping defined
                 Key: SYNCOPE-598
                 URL: https://issues.apache.org/jira/browse/SYNCOPE-598
             Project: Syncope
          Issue Type: Bug
          Components: core
    Affects Versions: 1.2.0
            Reporter: Martin van Es


When an LDAP resource (1.3.7) is configured to map roles to LDAP groups (cn is 
AccountLink) the propagation of the role as group is fine (syncope console 
reports success, group is created) but LDAP resource Push Task fails:

22:17:10.115 WARN  org.apache.syncope.core.quartz.AbstractTaskJob - Failure 
pushing role 'SyncopeRole[104]' on 'ExternalResource[m7 LDAP]'
java.lang.NullPointerException
        at 
org.apache.syncope.core.persistence.beans.AbstractAttributable.getAttr(AbstractAttributable.java:33)
 ~[AbstractAttributable.class:?]
        at 
org.apache.syncope.core.util.MappingUtil.getIntValues(MappingUtil.java:478) 
~[MappingUtil.class:?]
        at 
org.apache.syncope.core.util.MappingUtil.getAccountIdValue(MappingUtil.java:653)
 ~[MappingUtil.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.doHandle(AbstractSubjectPushResultHandler.java:118)
 ~[AbstractSubjectPushResultHandler.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.handle(AbstractSubjectPushResultHandler.java:78)
 ~[AbstractSubjectPushResultHandler.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler$$FastClassBySpringCGLIB$$d86e2298.invoke(<generated>)
 ~[spring-core-4.0.7.RELEASE.jar:?]
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
~[spring-core-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.apache.syncope.core.sync.impl.RolePushResultHandler$$EnhancerBySpringCGLIB$$86ac2e87.handle(<generated>)
 ~[spring-core-4.0.7.RELEASE.jar:?]
        at 
org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:137)
 ~[PushJob.class:?]
        at 
org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:54)
 ~[PushJob.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSyncJob.doExecute(AbstractSyncJob.java:338)
 ~[AbstractSyncJob.class:?]
        at 
org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:125)
 ~[AbstractTaskJob.class:?]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
~[quartz-2.2.1.jar:?]
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
~[quartz-2.2.1.jar:?]
22:17:10.116 ERROR org.apache.syncope.core.quartz.AbstractTaskJob - While 
executing task 326
org.quartz.JobExecutionException: While pushing roles on connector
        at 
org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:140)
 ~[PushJob.class:?]
        at 
org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:54)
 ~[PushJob.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSyncJob.doExecute(AbstractSyncJob.java:338)
 ~[AbstractSyncJob.class:?]
        at 
org.apache.syncope.core.quartz.AbstractTaskJob.execute(AbstractTaskJob.java:125)
 ~[AbstractTaskJob.class:?]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
~[quartz-2.2.1.jar:?]
        at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
~[quartz-2.2.1.jar:?]
Caused by: java.lang.NullPointerException
        at 
org.apache.syncope.core.persistence.beans.AbstractAttributable.getAttr(AbstractAttributable.java:33)
 ~[AbstractAttributable.class:?]
        at 
org.apache.syncope.core.util.MappingUtil.getIntValues(MappingUtil.java:478) 
~[MappingUtil.class:?]
        at 
org.apache.syncope.core.util.MappingUtil.getAccountIdValue(MappingUtil.java:653)
 ~[MappingUtil.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.doHandle(AbstractSubjectPushResultHandler.java:118)
 ~[AbstractSubjectPushResultHandler.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler.handle(AbstractSubjectPushResultHandler.java:78)
 ~[AbstractSubjectPushResultHandler.class:?]
        at 
org.apache.syncope.core.sync.impl.AbstractSubjectPushResultHandler$$FastClassBySpringCGLIB$$d86e2298.invoke(<generated>)
 ~[spring-core-4.0.7.RELEASE.jar:?]
        at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
~[spring-core-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
 ~[spring-tx-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
 ~[spring-aop-4.0.7.RELEASE.jar:4.0.7.RELEASE]
        at 
org.apache.syncope.core.sync.impl.RolePushResultHandler$$EnhancerBySpringCGLIB$$86ac2e87.handle(<generated>)
 ~[spring-core-4.0.7.RELEASE.jar:?]
        at 
org.apache.syncope.core.sync.impl.PushJob.executeWithSecurityContext(PushJob.java:137)
 ~[PushJob.class:?]
        ... 5 more


A workaround is to filter only roles that don't have this resource.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to