From 71280348a87839d2b72cd2d85b6f7e838f4d0660 Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Tue, 28 Jan 2020 15:07:00 +0100 Subject: [PATCH] Add support for async group rename This requires midPoint 4.1-M2 that has been uploaded today. Also fixing the name of user recomputation task. --- .../tasks/task-recomputation-users.xml | 2 +- .../function-library-grouper.xml | 13 +++++++++++++ .../resources/resource-grouper.xml | 17 +++++++++++++++++ demo/grouper/tests/main.bats | 2 +- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/demo/grouper/midpoint-objects-manual/tasks/task-recomputation-users.xml b/demo/grouper/midpoint-objects-manual/tasks/task-recomputation-users.xml index 08bcc01..fc643ef 100644 --- a/demo/grouper/midpoint-objects-manual/tasks/task-recomputation-users.xml +++ b/demo/grouper/midpoint-objects-manual/tasks/task-recomputation-users.xml @@ -1,5 +1,5 @@ - User recomputing with bucket + User recomputation c:UserType 200 diff --git a/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/functionLibraries/function-library-grouper.xml b/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/functionLibraries/function-library-grouper.xml index c9bd2ae..2fc89e0 100644 --- a/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/functionLibraries/function-library-grouper.xml +++ b/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/functionLibraries/function-library-grouper.xml @@ -156,6 +156,19 @@ delta = null } return UcfChangeUtil.create(GROUP_OBJECT_CLASS, identifiers, delta, prismContext) + } else if (eventType == 'GROUP_UPDATE') { + groupName = esbEvent['name'] + groupId = esbEvent['id'] + isExported = matches(groupName, groupIncludePattern, groupExcludePattern) + if (!isExported) { + log.info('Irrelevant group add/delete event, ignoring it: {}', groupName) + return null + } + // Notification-only change: so we fetch current state of this group and synchronize it fully + identifiers = new HashMap() + identifiers.put(ATTR_NAME, groupName) + identifiers.put(ATTR_UUID, groupId) + return UcfChangeUtil.create(GROUP_OBJECT_CLASS, identifiers, null, prismContext) } else { log.warn('Unsupported event type: {} -> {}', eventType, esbEvent) return null diff --git a/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/resources/resource-grouper.xml b/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/resources/resource-grouper.xml index c142aa0..74fd191 100644 --- a/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/resources/resource-grouper.xml +++ b/demo/grouper/midpoint_server/container_files/mp-home/post-initial-objects/resources/resource-grouper.xml @@ -42,6 +42,11 @@ ldap true + + false + true + false + AMQP async update connector @@ -152,6 +157,18 @@ linked http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#asyncUpdate + + + false diff --git a/demo/grouper/tests/main.bats b/demo/grouper/tests/main.bats index 80bb428..ad492c1 100644 --- a/demo/grouper/tests/main.bats +++ b/demo/grouper/tests/main.bats @@ -287,7 +287,7 @@ load ../../../library if [ -e $BATS_TMPDIR/not-started ]; then skip 'not started'; fi add_object tasks midpoint-objects-manual/tasks/task-recomputation-users.xml - search_and_check_object tasks "User recomputing with bucket" + search_and_check_object tasks "User recomputation" wait_for_task_completion 83a737ea-5eb7-4e78-b431-331cccf02354 6 10 assert_task_success 83a737ea-5eb7-4e78-b431-331cccf02354 }