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)