Project

General

Profile

Actions

Task #1753

closed

Upgrade wf for synchronization of groups from Ldap

Added by Patrik Stloukal over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Patrik Stloukal
Target version:
Start date:
07/16/2019
Due date:
% Done:

100%

Estimated time:
Owner:

Description

Upgrade wf for :
-special characters,
-add posibility for check forward provisioning on roles
-disable merge on roles with exclusion contract.
-improve create of catalogue
-system was filled, but not found


Related issues

Related to extras - Task #1771: WF for role synchronization creates unless update for SysRoleSystemAttributeClosedPatrik Stloukal07/31/2019

Actions
Related to extras - Defect #1803: WF for synchronization groups/roles assing duplicitiesClosedPatrik Stloukal08/19/2019

Actions
Related to extras - Task #1854: WF for synchronization groups/roles assing bad role catalogueClosedPatrik Stloukal09/16/2019

Actions
Actions #1

Updated by Vít Švanda over 4 years ago

  • Target version changed from Rhyolite (9.7.0) to Rhyolite (9.7.3)
Actions #2

Updated by Ondřej Kopr over 4 years ago

Similar behavior on project with this role name:

AD: CN=g001-***-isvc\,users,OU=VCUD\, PUD,OU=****,OU=Groups,OU=001AGL,OU=****,DC=****,DC=****,DC=cz

Problem is character \. Logs from synchronization:

2019-07-31T11:20:07.187+02:00: System entity (38ca16b4-bf68-4b44-a624-1b26c67b9d78) for this UID (f61758c0-3fb4-48e9-86f9-02c152ff59be) was found. We try to find account for this system entity
-------------------------
2019-07-31T11:20:07.188+02:00: Account was not found. We try to find account for UID (f61758c0-3fb4-48e9-86f9-02c152ff59be) (generated from the mapped attribute marked as Identifier)
-------------------------
2019-07-31T11:20:07.189+02:00: Account doesn't exist in IdM
-------------------------
2019-07-31T11:20:07.190+02:00: Workflow for MISSING_ENTITY situation was found. We will start it.
-------------------------
2019-07-31T11:20:07.323+02:00: org.activiti.engine.ActivitiException: problem evaluating script: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:89)
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:73)
...
    at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstance(RuntimeServiceImpl.java:466)
    at org.activiti.engine.impl.runtime.ProcessInstanceBuilderImpl.start(ProcessInstanceBuilderImpl.java:76)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService.startProcess(DefaultWorkflowProcessInstanceService.java:104)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService$$FastClassBySpringCGLIB$$20562843.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService$$EnhancerBySpringCGLIB$$ef0e8d0e.startProcess(<generated>)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startWorkflow(AbstractSynchronizationExecutor.java:1916)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.resolveAccountNotExistSituation(AbstractSynchronizationExecutor.java:466)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.doItemSynchronization(AbstractSynchronizationExecutor.java:360)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.doItemSynchronization(DefaultSynchronizationService.java:219)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$7b404ee4.doItemSynchronization(<generated>)
    at eu.bcvsolutions.idm.acc.event.processor.synchronization.SynchronizationItemProcessor.process(SynchronizationItemProcessor.java:52)
    at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:243)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:245)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:175)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$4e957472.process(<generated>)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startItemSynchronization(AbstractSynchronizationExecutor.java:569)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.handleIcObject(AbstractSynchronizationExecutor.java:521)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor$DefaultResultHandler.handle(AbstractSynchronizationExecutor.java:2266)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService$2.handle(ConnIdIcConnectorService.java:250)
    at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101)
    at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262)
    at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)
    at com.sun.proxy.$Proxy359.search(Unknown Source)
    at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:179)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.pageSearch(ConnIdIcConnectorService.java:272)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.search(ConnIdIcConnectorService.java:267)
    at eu.bcvsolutions.idm.ic.service.impl.DefaultIcConnectorFacade.search(DefaultIcConnectorFacade.java:114)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.process(AbstractSynchronizationExecutor.java:256)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.startSynchronization(DefaultSynchronizationService.java:190)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$7b404ee4.startSynchronization(<generated>)
    at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:65)
    at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:28)
    at eu.bcvsolutions.idm.core.scheduler.api.service.AbstractLongRunningTaskExecutor.call(AbstractLongRunningTaskExecutor.java:189)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: javax.script.ScriptException: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
    at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:87)
    ... 501 more
Caused by: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:346)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:152)
    ... 503 more
Caused by: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultGroovyScriptService.validateScript(DefaultGroovyScriptService.java:153)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.saveInternal(DefaultSysRoleSystemAttributeService.java:167)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.saveInternal(DefaultSysRoleSystemAttributeService.java:79)
    at eu.bcvsolutions.idm.core.api.service.AbstractReadWriteDtoService.save(AbstractReadWriteDtoService.java:80)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.save(DefaultSysRoleSystemAttributeService.java:116)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.addRoleMappingAttribute(DefaultSysRoleSystemAttributeService.java:286)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService$$FastClassBySpringCGLIB$$7abae34b.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService$$EnhancerBySpringCGLIB$$d665e326.addRoleMappingAttribute(<generated>)
    at eu.bcvsolutions.idm.acc.service.api.SysRoleSystemAttributeService$addRoleMappingAttribute.call(Unknown Source)
    at Script23.addResource(Script23.groovy:182)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
    at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:151)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl$2.invokeMethod(GroovyScriptEngineImpl.java:327)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:84)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190)
    at Script23.run(Script23.groovy:198)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:343)
    ... 504 more
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 1: unexpected char: '\' @ line 1, column 33.
   "CN=g001-***-isvc_users,OU=VCUD\, PUD,OU=****,OU=Groups,OU=001****,OU=****,DC=****,DC=****,DC=cz" 
                                   ^

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:150)
    at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:120)
    at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:132)
    at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:360)
    at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:140)
    at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:111)
    at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:237)
    at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:167)
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:931)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:569)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:736)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:727)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultGroovyScriptService.validateScript(DefaultGroovyScriptService.java:144)
    ... 537 more

-------------------------
2019-07-31T11:20:07.324+02:00: Operation count for [CREATE_ENTITY] is [3]
-------------------------
2019-07-31T11:20:07.331+02:00: org.activiti.engine.ActivitiException: problem evaluating script: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:89)
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:73)
....
    at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
    at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)
    at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)
    at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstance(RuntimeServiceImpl.java:466)
    at org.activiti.engine.impl.runtime.ProcessInstanceBuilderImpl.start(ProcessInstanceBuilderImpl.java:76)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService.startProcess(DefaultWorkflowProcessInstanceService.java:104)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService$$FastClassBySpringCGLIB$$20562843.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.core.workflow.service.impl.DefaultWorkflowProcessInstanceService$$EnhancerBySpringCGLIB$$ef0e8d0e.startProcess(<generated>)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startWorkflow(AbstractSynchronizationExecutor.java:1916)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.resolveAccountNotExistSituation(AbstractSynchronizationExecutor.java:466)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.doItemSynchronization(AbstractSynchronizationExecutor.java:360)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.doItemSynchronization(DefaultSynchronizationService.java:219)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$7b404ee4.doItemSynchronization(<generated>)
    at eu.bcvsolutions.idm.acc.event.processor.synchronization.SynchronizationItemProcessor.process(SynchronizationItemProcessor.java:52)
    at eu.bcvsolutions.idm.core.api.event.AbstractEntityEventProcessor.onApplicationEvent(AbstractEntityEventProcessor.java:243)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:381)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:348)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:245)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager.process(DefaultEntityEventManager.java:175)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$FastClassBySpringCGLIB$$1694e58f.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultEntityEventManager$$EnhancerBySpringCGLIB$$4e957472.process(<generated>)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.startItemSynchronization(AbstractSynchronizationExecutor.java:569)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.handleIcObject(AbstractSynchronizationExecutor.java:521)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor$DefaultResultHandler.handle(AbstractSynchronizationExecutor.java:2266)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService$2.handle(ConnIdIcConnectorService.java:250)
    at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101)
    at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262)
    at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)
    at com.sun.proxy.$Proxy359.search(Unknown Source)
    at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:179)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.pageSearch(ConnIdIcConnectorService.java:272)
    at eu.bcvsolutions.idm.ic.connid.service.impl.ConnIdIcConnectorService.search(ConnIdIcConnectorService.java:267)
    at eu.bcvsolutions.idm.ic.service.impl.DefaultIcConnectorFacade.search(DefaultIcConnectorFacade.java:114)
    at eu.bcvsolutions.idm.acc.service.impl.AbstractSynchronizationExecutor.process(AbstractSynchronizationExecutor.java:256)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService.startSynchronization(DefaultSynchronizationService.java:190)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$FastClassBySpringCGLIB$$66d7ee75.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:651)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSynchronizationService$$EnhancerBySpringCGLIB$$7b404ee4.startSynchronization(<generated>)
    at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:65)
    at eu.bcvsolutions.idm.acc.scheduler.task.impl.SynchronizationSchedulableTaskExecutor.process(SynchronizationSchedulableTaskExecutor.java:28)
    at eu.bcvsolutions.idm.core.scheduler.api.service.AbstractLongRunningTaskExecutor.call(AbstractLongRunningTaskExecutor.java:189)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.springframework.security.concurrent.DelegatingSecurityContextRunnable.run(DelegatingSecurityContextRunnable.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: javax.script.ScriptException: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
    at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:87)
    ... 501 more
Caused by: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:346)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:152)
    ... 503 more
Caused by: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected char: '\'] at line [1].
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultGroovyScriptService.validateScript(DefaultGroovyScriptService.java:153)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.saveInternal(DefaultSysRoleSystemAttributeService.java:167)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.saveInternal(DefaultSysRoleSystemAttributeService.java:79)
    at eu.bcvsolutions.idm.core.api.service.AbstractReadWriteDtoService.save(AbstractReadWriteDtoService.java:80)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.save(DefaultSysRoleSystemAttributeService.java:116)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService.addRoleMappingAttribute(DefaultSysRoleSystemAttributeService.java:286)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService$$FastClassBySpringCGLIB$$7abae34b.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at eu.bcvsolutions.idm.acc.service.impl.DefaultSysRoleSystemAttributeService$$EnhancerBySpringCGLIB$$d665e326.addRoleMappingAttribute(<generated>)
    at eu.bcvsolutions.idm.acc.service.api.SysRoleSystemAttributeService$addRoleMappingAttribute.call(Unknown Source)
    at Script23.addResource(Script23.groovy:182)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
    at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:151)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl$2.invokeMethod(GroovyScriptEngineImpl.java:327)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:84)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190)
    at Script23.run(Script23.groovy:198)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:343)
    ... 504 more
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script1.groovy: 1: unexpected char: '\' @ line 1, column 33.
   "CN=g001-***-isvc_users,OU=VCUD\, PUD,OU=****,OU=Groups,OU=****,OU=****,DC=ad,DC=****,DC=cz" 
                                   ^

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:150)
    at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:120)
    at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:132)
    at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:360)
    at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:140)
    at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:111)
    at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:237)
    at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:167)
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:931)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:569)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:736)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:727)
    at eu.bcvsolutions.idm.core.model.service.impl.DefaultGroovyScriptService.validateScript(DefaultGroovyScriptService.java:144)
    ... 537 more

-------------------------
2019-07-31T11:20:07.332+02:00: Operation count for [CREATE_ENTITY] is [3]
Actions #3

Updated by Ondřej Kopr over 4 years ago

  • Related to Task #1771: WF for role synchronization creates unless update for SysRoleSystemAttribute added
Actions #4

Updated by Vít Švanda over 4 years ago

  • Target version changed from Rhyolite (9.7.3) to Rhyolite (9.7.5)
Actions #5

Updated by Ondřej Kopr over 4 years ago

  • Related to Defect #1803: WF for synchronization groups/roles assing duplicities added
Actions #6

Updated by Vít Švanda over 4 years ago

  • Target version deleted (Rhyolite (9.7.5))
Actions #7

Updated by Patrik Stloukal over 4 years ago

  • Description updated (diff)
  • Status changed from New to In Progress
  • % Done changed from 0 to 70
Actions #8

Updated by Patrik Stloukal over 4 years ago

  • % Done changed from 70 to 90

In this ticket I made changes from tickets 1771, 1803. It is same workflow, so it is easier to do it all at once.

changes:
- in method addRoleMappingAttribute: SysRoleSystemAttributeDto will be saved if transformationScript will be different
- I rewrite method for checking if role is already assigned, I made junit test
- I made new methods for setting forward provisioning and disable merge on roles with exclusion contract
- tree (DN) catalogue was changed, now support more catalogues with same name, and added posibility to create this tree catalogue under one catalogue
- system was filled, but not found - e.g. someone rename system and workflow cannot find it now. Added customized exception > system was not found
special characters: AD special characters are supported, but not Java special chars. For membership of this role with java special char (e.g. ") to be provisioned, i could only 2 times escaped DN of this role, but when removing membership, connector loads membership from AD and there is missing one escaping...

Actions #9

Updated by Patrik Stloukal over 4 years ago

i made review with @sourek.
a few points:
- how should configuration of forward management in workflow work
- how to generate catalogue's code number / DN
- made check of existing system on the begginning of WF

Actions #10

Updated by Patrik Stloukal over 4 years ago

  • Related to Task #1854: WF for synchronization groups/roles assing bad role catalogue added
Actions #11

Updated by Patrik Stloukal over 4 years ago

- system check moved to beginning of wf, now it must be system code filled.
- forward management is after consultation left how it was.
- reworked creating of catalogue, part of role DN is hashed and used as externalId of catalog. catalogs can be renamed, catalogue code is nice.
- added aplication property for role atribute can be requested. Now it can be turned off in update situation.

commits: https://github.com/bcvsolutions/CzechIdMng/commit/fc287943bb6260ebac57d2a67fee0979916dddb6
https://github.com/bcvsolutions/CzechIdMng/commit/3a5f21ddd179f157f849917ef19db355e884e878

Actions #12

Updated by Ondřej Kopr over 4 years ago

  • Project changed from IdStory Identity Manager to extras
  • Category deleted (Workflow)
  • Target version set to 1.4.0

Review notes:

  • synchronize roles with character ' doesn't work (maybe also with \). For example: CN=1,OU=U6',OU=Groups,OU=Groups,OU=Test004,OU=SyncTest,DC=piskoviste,DC=bcv. Result message (this can't be now solved :():
    2019-11-21T11:48:41.142+01:00: org.activiti.engine.ActivitiException: problem evaluating script: javax.script.ScriptException: eu.bcvsolutions.idm.core.api.exception.ResultCodeException: Script contains syntaxt error: [unexpected token: CN=1,OU=U6] at line [1].
    
  • configuration properties are all public and prefix is by acc module. But this must exits because: backward compatibility,
  • while is role moved on AD and change DN the original catalogue connection with role in IdM still exists,
  • just one important note: while is evaluate adding roles to users from workflow is this evaluate by one role, this mean that fist provisioning to AD for user remove all roles except one, then add next, next... and finally add the last one. But in first provisioning will be removed almost all roles.

Otherwise workflow works correctly and all issues: #1803, #1771, #1854, are solved. Thank you! This workflow will be used as feature request for update behavior during role synchronization.

Documentation was updated:

Thank you :).

After you update tests please send merge request on extras module :)

Actions #14

Updated by Peter Štrunc over 4 years ago

  • Status changed from In Progress to Closed

Merged to develop.

Actions

Also available in: Atom PDF