diff --git a/common.bash b/common.bash index f61b220..3ef722b 100644 --- a/common.bash +++ b/common.bash @@ -1,3 +1,3 @@ maintainer="tier" imagename="midpoint" -tag="latest" +tag="laboratory" diff --git a/demo/complex2s/add-ref-groups.sh b/demo/complex2s/add-ref-groups.sh old mode 100644 new mode 100755 index d35b173..a60c2f1 --- a/demo/complex2s/add-ref-groups.sh +++ b/demo/complex2s/add-ref-groups.sh @@ -1,3 +1,3 @@ source ../../library.bash -execute_gsh complex2_grouper_daemon_1 add-ref-groups.gsh +execute_gsh complex2s_grouper_daemon_1 add-ref-groups.gsh diff --git a/demo/complex2s/after-installation.sh b/demo/complex2s/after-installation.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/create-ref-loaders.sh b/demo/complex2s/create-ref-loaders.sh old mode 100644 new mode 100755 index 627a186..39d690e --- a/demo/complex2s/create-ref-loaders.sh +++ b/demo/complex2s/create-ref-loaders.sh @@ -1,3 +1,3 @@ source ../../library.bash -execute_gsh complex2_grouper_daemon_1 create-ref-loaders.gsh +execute_gsh complex2s_grouper_daemon_1 create-ref-loaders.gsh diff --git a/demo/complex2s/get-import-sis-persons-status.sh b/demo/complex2s/get-import-sis-persons-status.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/midpoint-objects/resources/resource-grouper.xml b/demo/complex2s/midpoint-objects/resources/resource-grouper.xml index eab3832..eafe0ff 100644 --- a/demo/complex2s/midpoint-objects/resources/resource-grouper.xml +++ b/demo/complex2s/midpoint-objects/resources/resource-grouper.xml @@ -38,7 +38,7 @@ </connectorRef> <connectorConfiguration> <icfc:configurationProperties> - <rest:baseUrl>https://192.168.56.101:9443</rest:baseUrl> + <rest:baseUrl>https://grouper-ws:443</rest:baseUrl> <rest:username>banderson</rest:username> <rest:password>password</rest:password> <rest:superGroup>etc:midpointGroups</rest:superGroup> @@ -66,7 +66,7 @@ <connectorConfiguration> <conf:sources> <amqp091> - <uri>amqp://192.168.56.101:5672</uri> + <uri>amqp://mq:5672</uri> <username>guest</username> <password>guest</password> <queue>sampleQueue</queue> diff --git a/demo/complex2s/midpoint-objects/systemConfigurations/SystemConfiguration.xml b/demo/complex2s/midpoint-objects/systemConfigurations/SystemConfiguration.xml index 4d8dba6..42f9af5 100644 --- a/demo/complex2s/midpoint-objects/systemConfigurations/SystemConfiguration.xml +++ b/demo/complex2s/midpoint-objects/systemConfigurations/SystemConfiguration.xml @@ -24,6 +24,72 @@ <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#init</channel> </operationExecution> <globalSecurityPolicyRef xmlns:tns="http://midpoint.evolveum.com/xml/ns/public/common/common-3" oid="00000000-0000-0000-0000-000000000120" relation="org:default" type="tns:SecurityPolicyType"/> + <modelHooks> + <change> + <hook> + <name>Recompute affected users</name> + <state>final</state> + <focusType>OrgType</focusType> + <script> + <code> + import com.evolveum.midpoint.prism.delta.* + import com.evolveum.midpoint.xml.ns._public.common.common_3.* + import com.evolveum.midpoint.prism.path.* + + log.info('Starting Org change hook execution') + + affectedUsers = new HashSet() + + MEMBER_PATH = ItemPath.create(ObjectType.F_EXTENSION, 'member') + + for (delta in modelContext.allChanges) { + if (delta.objectTypeClass == OrgType.class) { + log.info('Found Org delta: {}', delta) + if (delta.isDelete()) { + addFromObject(affectedUsers, modelContext.focusContext.objectOld) + } else { + memberDelta = delta.findPropertyDelta(MEMBER_PATH) + if (memberDelta != null) { + log.info('Found member delta: {}', memberDelta) + if (memberDelta.isReplace()) { + addFromObject(affectedUsers, modelContext.focusContext.objectOld) + addFromValues(affectedUsers, memberDelta.valuesToReplace) + } else { + addFromValues(affectedUsers, memberDelta.valuesToAdd) + addFromValues(affectedUsers, memberDelta.valuesToDelete) + } + } + } + } + } + log.info('Affected users = {}', affectedUsers) + for (userName in affectedUsers) { + user = midpoint.searchObjectByName(UserType.class, userName) + if (user != null) { + midpoint.addRecomputeTrigger(user, null) + log.info('Recompute trigger added to {}', user) + } else { + log.warn('User {} couldn\'t be found', userName) + } + } + log.info('Finishing Org change hook execution') + + def addFromObject(users, object) { + addFromValues(users, object?.findExtensionItem('member')?.values) + } + def addFromValues(users, values) { + if (values != null) { + for (value in values) { + users.add(value.realValue) + } + } + } + </code> + </script> + </hook> + </change> + </modelHooks> + <logging> <classLogger id="1"> <level>ERROR</level> diff --git a/demo/complex2s/mq/container_files/usr-local-bin/demo-entrypoint.sh b/demo/complex2s/mq/container_files/usr-local-bin/demo-entrypoint.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/mq/container_files/usr-local-bin/initialize-rabbitmq.sh b/demo/complex2s/mq/container_files/usr-local-bin/initialize-rabbitmq.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/recompute.sh b/demo/complex2s/recompute.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/show-queue-size.sh b/demo/complex2s/show-queue-size.sh old mode 100644 new mode 100755 index 7749953..2687686 --- a/demo/complex2s/show-queue-size.sh +++ b/demo/complex2s/show-queue-size.sh @@ -1 +1 @@ -docker exec complex2_mq_1 rabbitmqctl list_queues +docker exec complex2s_mq_1 rabbitmqctl list_queues diff --git a/demo/complex2s/test-resource-grouper.sh b/demo/complex2s/test-resource-grouper.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/test-resources-1.sh b/demo/complex2s/test-resources-1.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/tests/resources/rabbitmq/check-samplequeue.sh b/demo/complex2s/tests/resources/rabbitmq/check-samplequeue.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/update-bgasper-in-grouper.sh b/demo/complex2s/update-bgasper-in-grouper.sh old mode 100644 new mode 100755 index b849cbb..78d9912 --- a/demo/complex2s/update-bgasper-in-grouper.sh +++ b/demo/complex2s/update-bgasper-in-grouper.sh @@ -2,4 +2,4 @@ source ../../library.bash -execute_gsh complex2_grouper_daemon_1 update-bgasper-in-grouper.gsh +execute_gsh complex2s_grouper_daemon_1 update-bgasper-in-grouper.gsh diff --git a/demo/complex2s/upload-async-update-task.sh b/demo/complex2s/upload-async-update-task.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/upload-import-sis-persons.sh b/demo/complex2s/upload-import-sis-persons.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/upload-objects.sh b/demo/complex2s/upload-objects.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/upload-reconcile-grouper-groups.sh b/demo/complex2s/upload-reconcile-grouper-groups.sh old mode 100644 new mode 100755 diff --git a/demo/complex2s/upload-reconcile-grouper-users.sh b/demo/complex2s/upload-reconcile-grouper-users.sh old mode 100644 new mode 100755