<div dir="ltr"><div>Hello Arnošt,</div><div><br></div><div>Thank you!</div><div>Following your example, I tried this :</div><div><br></div><div><p class="MsoNormal">def pwdResetQName = new QName('<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3</a>','pwdReset')<u></u><u></u></p><p class="MsoNormal">def pwdResetDef = new PrismPropertyDefinitionImpl(pwdResetQName, DOMUtil.XSD_BOOLEAN, prismContext)</p><p class="MsoNormal">def delta = DeltaBuilder.deltaFor(ShadowType.class, prismContext)<u></u><u></u></p><p class="MsoNormal">    .item(ItemPath.create('attributes', 'pwdReset'), pwdResetDef)<u></u><u></u></p><p class="MsoNormal">    .add("TRUE")<u></u><u></u></p><p class="MsoNormal">    .asObjectDelta(projection.getOid())</p><p class="MsoNormal">midpoint.modifyObject(delta, null)</p></div><div><br></div><div>I can see in the user's history and the logs that the shadow object has been modified in Midpoint, but the account on the resource (LDAP) is not updated (I should see a new pwdReset attribute with value "TRUE").</div><div><br></div><div>Am I missing something? My understanding is that if I modify a shadow, it should modify the corresponding account on the resource.</div><div><br></div><div>For reference, the log when I modify a user's password, I can see it executes the expected mapping with aforementioned script : </div><div><br></div><div><p class="MsoNormal">2021-04-09 11:01:38,861 [MODEL] [pool-3-thread-149] INFO (com.evolveum.midpoint.expression):  - debugdelta: ObjectDelta<ShadowType>(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY):<u></u><u></u></p><p class="MsoNormal">  attributes/pwdReset<u></u><u></u></p><p class="MsoNormal">    ADD: TRUE<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:39,295 [MODEL] [pool-3-thread-149] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p class="MsoNormal">###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p class="MsoNormal">Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p class="MsoNormal">Triggered by projection primary delta<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / pwdReset, ADD))<u></u><u></u></p><p class="MsoNormal">Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p class="MsoNormal">Projections (1):<u></u><u></u></p><p class="MsoNormal">  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(LDAP)): KEEP<u></u><u></u></p><p class="MsoNormal">Executed:<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / pwdReset, ADD), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">##############################################################<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:39,384 [MODEL] [pool-3-thread-149] INFO (com.evolveum.midpoint.expression):  - debugdelta: ObjectDelta<ShadowType>(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY):<u></u><u></u></p><p class="MsoNormal">  attributes/pwdReset<u></u><u></u></p><p class="MsoNormal">    ADD: TRUE<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:39,694 [MODEL] [pool-3-thread-149] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: projection LensProjectionContext(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7 on resource:d0811790-1d80-11e4-86b2-3c970e467874(LDAP)) rotten because of executable delta ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / pwdReset, ADD))<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:39,803 [MODEL] [pool-3-thread-149] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p class="MsoNormal">###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p class="MsoNormal">Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p class="MsoNormal">Triggered by projection primary delta<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / pwdReset, ADD))<u></u><u></u></p><p class="MsoNormal">Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p class="MsoNormal">Projections (1):<u></u><u></u></p><p class="MsoNormal">  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(LDAP)): KEEP<u></u><u></u></p><p class="MsoNormal">Executed:<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / pwdReset, ADD), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">##############################################################<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:40,086 [MODEL] [pool-3-thread-149] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">2021-04-09 11:01:40,150 [MODEL] [pool-3-thread-149] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p class="MsoNormal">###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p class="MsoNormal">Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p class="MsoNormal">Triggered by focus primary delta<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE))<u></u><u></u></p><p class="MsoNormal">Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p class="MsoNormal">Projections (1):<u></u><u></u></p><p class="MsoNormal">  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(LDAP)): KEEP<u></u><u></u></p><p class="MsoNormal">Executed:<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p class="MsoNormal">##############################################################</p></div><div><br></div><div>-Frederic</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021 at 6:47 PM Arnošt Starosta - AMI Praha a.s. <<a href="mailto:arnost.starosta@ami.cz">arnost.starosta@ami.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Frederic,</div><div><br></div><div>I used this hand made PrismPropertyDefinition definition for a ShadowType query, may help in delta builder as well.</div><div><br></div><div><div>def sAMQName = new QName('<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3</a>', 'sAMAccountName')<br>def sAMDef = new PrismPropertyDefinitionImpl(sAMQName, DOMUtil.XSD_STRING, midpoint.prismContext)</div><div>...</div><div>    .item(ItemPath.create('attributes', 'sAMAccountName'), sAMDef)</div><div><br></div></div><div>arnost<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">čt 8. 4. 2021 v 18:26 odesílatel Frédéric Lohier via midPoint <<a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div style="font-family:sans-serif;font-size:12.8px" dir="auto"><div style="width:380.19px;margin:16px 0px"><div><div><div><p>Hello Pavol,<u></u><u></u></p><p><u></u> <u></u></p><p>Thank you for the suggested workaround and the jira issue, but I could not make it work. The closest I got was :<u></u><u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">def delta = DeltaBuilder.deltaFor(ShadowType.class, prismContext)<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">.item(ItemPath.create(ShadowType.F_ATTRIBUTES, "pwdReset"), pwdResetDefinition)<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">.replace("TRUE")<u></u><u></u></span></p><p style="text-indent:35.4pt;line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">.asObjectDelta(projection.getOid())<u></u><u></u></span></p><p><u></u> <u></u></p><p>But, I don’t know how to get the ResourceAttributeDefinition for my pwdResetDefinition variable.<u></u><u></u></p><p><u></u> <u></u></p><p>As I workaround, I tried to modify the user’s credentials/password/forceChange attribute and add a mapping to the ri :pwdReset attribute but I also could not make it work. The deltabuilder in the credential mapping works, I can see that the user’s forceChange attribute is set to TRUE when I edit the password throught the GUI, <b>but this change is not synced to the resource</b>.<u></u><u></u></p><p><u></u> <u></u></p><p>How could this behaviour be explained? What am I missing?<u></u><u></u></p><p><u></u> <u></u></p><p>I checked that my pwdReset outbound mapping works : if I manually set the forceChange attribute through the GUI, then the resource’s pwdReset attribute is set to TRUE.<u></u><u></u></p><p><u></u> <u></u></p><p>For reference, the aforementioned mappings :<u></u><u></u></p><p><u></u> <u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">Password and pwdReset (to force the password reset by user)</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/channel" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:calibri,sans-serif;color:gray"></</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">c</span><span style="color:rgb(86,156,214)">hanne</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">l</span></a></span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        // If password modification comes from an Midpoint admin (channel #user), then we set the credentials/password/forceChange user’s attribute to true, which will then be synced to the Open LDAP pwdReset attribute (this will force the user to reset his password)<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        <u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        import com.evolveum.midpoint.prism.impl.delta.builder.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        import com.evolveum.midpoint.xml.ns._public.common.common_3.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        import com.evolveum.prism.xml.ns._public.types_3.*<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u> <u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        def prismContext = midpoint.getPrismContext()<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        </span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">def delta = DeltaBuilder.deltaFor(UserType.class, prismContext)<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                            .item(UserType.F_CREDENTIALS, CredentialsType.F_PASSWORD, PasswordType.F_FORCE_CHANGE)<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                            .replace("TRUE")<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                            .asObjectDelta(focus.getOid())<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        midpoint.modifyObject(delta, null)<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        <u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        // Then we return the password value anyway<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                        return input<u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">                </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"> Simple password mapping</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:consolas;color:gray">><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">We apply this mapping every time, except if the modification is done on the Midpoint GUI (by an IDM admin)</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/exceptChannel" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:calibri,sans-serif;color:gray"></</span><span style="font-size:11pt;font-family:calibri,sans-serif;color:rgb(86,156,214)">exceptChannel</span></a></span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">/></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p><u></u> <u></u></p><p><u></u> <u></u></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">attribute</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">ref</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">ri:pwdReset</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">ref</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">tolerant</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">true</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">tolerant</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a></span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">source</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">$focus/credentials/password/forceChange</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">source</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a></span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">target</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">$focus/credentials/password/forceChange</span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">path</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">target</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:consolas;color:rgb(86,156,214)">attribute</span><span style="font-size:10.5pt;font-family:consolas;color:gray">></span><span style="font-size:10.5pt;font-family:consolas;color:rgb(212,212,212)"><u></u><u></u></span></p><p><u></u> <u></u></p><p>Logs when I modify the password value of a user through the midpoint GUI (the delta I am building in the credentials mapping is mentioned as « debugdelta ») :<u></u><u></u></p><p><u></u> <u></u></p><p>2021-04-08 18:08:45,012 [MODEL] [pool-3-thread-142] INFO (com.evolveum.midpoint.expression):  - <b>debugdelta:</b> <b>ObjectDelta<UserType>(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY):</b><u></u><u></u></p><p>  <b>credentials/password/forceChange<u></u><u></u></b></p><p><b>    ADD: TRUE<u></u><u></u></b></p><p>2021-04-08 18:08:45,298 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: projection LensProjectionContext(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7 on resource:xxxx (LDAP)) rotten because of executable delta ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / {.../resource/instance-3}pwdReset, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,298 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,400 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>forceChange, ADD</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p>  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:d0811790-1d80-11e4-86b2-3c970e467874(LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(attributes / {.../resource/instance-3}pwdReset, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p><p>2021-04-08 18:08:45,465 [MODEL] [pool-3-thread-142] INFO (com.evolveum.midpoint.expression):  - <b>debugdelta:</b> <b>ObjectDelta<UserType>(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY):</b><u></u><u></u></p><p><b>  credentials/password/forceChange<u></u><u></u></b></p><p><b>    ADD: TRUE<u></u><u></u></b></p><p>2021-04-08 18:08:45,623 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:45,679 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>forceChange, ADD</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p>  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}forceChange, ADD), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p><p>2021-04-08 18:08:45,929 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork): Context rot: context rotten because of focus execution delta ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE))<u></u><u></u></p><p>2021-04-08 18:08:46,009 [MODEL] [pool-3-thread-142] DEBUG (com.evolveum.midpoint.model.impl.lens.Clockwork):<u></u><u></u></p><p>###[ CLOCKWORK SUMMARY ]######################################<u></u><u></u></p><p>Channel: <a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user" style="text-decoration-line:none;color:rgb(66,133,244)" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</a><u></u><u></u></p><p>Triggered by focus primary delta<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}<b>value, REPLACE</b>))<u></u><u></u></p><p>Focus: focus(user:a0d85100-354e-450d-9ad1-8d2028d8336c(myuser))<u></u><u></u></p><p>Projections (1):<u></u><u></u></p><p>  account(ID {.../resource/instance-3}entryUUID = [ a4407a92-56fa-103a-868e-afc68d38775e ], type 'default', resource:xxx(LDAP)): KEEP<u></u><u></u></p><p>Executed:<u></u><u></u></p><p>  ObjectDelta(UserType:a0d85100-354e-450d-9ad1-8d2028d8336c,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}lastProvisioningTimestamp, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>  ObjectDelta(ShadowType:574a2c41-b0ea-45a1-b006-3e0f980165f7,MODIFY: PropertyDeltaImpl(credentials/password / {.../common/common-3}value, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(credentials/password/metadata / {.../common/common-3}modifyTaskRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifierRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyTaskRef, REPLACE), ReferenceDeltaImpl(metadata / {.../common/common-3}modifyApproverRef, REPLACE), PropertyDeltaImpl(metadata / {.../common/common-3}modifyApprovalComment, REPLACE)): SUCCESS<u></u><u></u></p><p>##############################################################<u></u><u></u></p></div></div></div></div><div style="height:44px"></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021, 08:32 Pavol Mederly via midPoint <<a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hello Frédéric,</p>
    <p>unfortunately I have currently no time to analyze your specific
      problem, but the issue you see with the delta builder is an
      inherent limitation of that API. For more information and a
      suggested workaround please see <a href="https://jira.evolveum.com/browse/MID-6981" rel="noreferrer" target="_blank">https://jira.evolveum.com/browse/MID-6981</a>.</p>
    <p>Best regards,<br>
    </p>
    <pre cols="72">-- 
Pavol Mederly
Software developer
<a href="http://evolveum.com" rel="noreferrer" target="_blank">evolveum.com</a></pre>
    <div>On 07/04/2021 17:27, Frédéric Lohier
      via midPoint wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="auto">
        <div class="gmail_quote" dir="auto">
          <div dir="ltr" class="gmail_attr">Hello,<br>
          </div>
          <div lang="FR">
            <div>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">Following up my last email « Set
                resource attribute pwdReset when password changed by
                Midpoint GUI by IDM admin », I think the password
                mapping using channels is the way to go.
              </p>
              <p class="MsoNormal">What I want to do now is to set this
                attribute in the password mapping context using groovy.
                This attribute exists in the resource schema as an
                operational attribute and I can manualy set this
                attribute for a user through midpoint GUI (edit
                projection tab).</p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">My guess is that I have to « build a
                delta » for the correspondant shadow object. Am I right?</p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">I know the shadow OID thanks to the
                projection variable (projection.getOid()), I tried to
                build the delta using some examples around, but I get
                the error « Undefined or dynamic path: pwdReset in: CTD
                ({.../common/common-3}ShadowType) ». Any idea of what I
                am doing wrong?</p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">The full password mapping : </p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">   
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">       
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">           
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">Password and pwdReset (to
                  force the password reset by user)</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">channel</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/channel" rel="noreferrer noreferrer" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:Calibri,sans-serif;color:gray;text-decoration:none"></</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(86,156,214);text-decoration:none">c</span><span style="color:rgb(86,156,214);text-decoration:none">hanne</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(86,156,214);text-decoration:none">l</span></a></span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">               
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                   
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                  // If password modification comes from an Midpoint
                  admin (channel #user), then we set the Open LDAP
                  pwdReset attribute to TRUE (this will force the user
                  to reset his password)</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                        </span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                </span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">import com.evolveum.midpoint.prism.impl.delta.builder.*</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
import com.evolveum.midpoint.xml.ns._public.common.common_3.*</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                  import com.evolveum.prism.xml.ns._public.types_3.*</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"> </span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                  def prismContext = midpoint.getPrismContext()</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                  def shadowOid = projection.getOid()</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
def delta = DeltaBuilder.deltaFor(ShadowType.class, prismContext)</span></p>
              <p class="MsoNormal" style="text-indent:35.4pt;line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)">
                <span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                     
                  .item(ShadowType.F_ATTRIBUTES, "pwdReset")</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                           
                  .add("TRUE")</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                           
                  .asObjectDelta(shadowOid)</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">  
                     midpoint.modifyObject(delta, null)</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                        </span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                       
                  // Then we return the password value anyway</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                        return input</span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">                   
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">code</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">               
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">script</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">expression</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">           
                </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"> Simple
                  password mapping</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">name</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">We apply
                  this mapping every time, except if the modification is
                  done on the Midpoint GUI (by an IDM admin)</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">description</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">strong</span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">strength</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">            </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">exceptChannel</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"><a href="http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user%3C/exceptChannel" rel="noreferrer noreferrer" target="_blank">http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user<span style="font-size:11pt;font-family:Calibri,sans-serif;color:gray;text-decoration:none"></</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(86,156,214);text-decoration:none">exceptChannel</span></a></span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">outbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">        </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"><</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">inbound</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">/></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)">    </span><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">password</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:gray"></</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(86,156,214)">credentials</span><span style="font-size:10.5pt;font-family:Consolas;color:gray">></span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"></span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"> </span></p>
              <p class="MsoNormal" style="line-height:14.25pt;background:none 0% 0% repeat scroll rgb(30,30,30)"><span style="font-size:10.5pt;font-family:Consolas;color:rgb(212,212,212)"> </span></p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">Error :</p>
              <p class="MsoNormal"> </p>
              <p class="MsoNormal">java.lang.IllegalArgumentException:
                Undefined or dynamic path: pwdReset in: CTD
                ({.../common/common-3}ShadowType)</p>
              <p class="MsoNormal">        at
com.evolveum.midpoint.prism.impl.delta.builder.DeltaBuilder.item(DeltaBuilder.java:92)</p>
              <p class="MsoNormal">        at
com.evolveum.midpoint.prism.impl.delta.builder.DeltaBuilder.item(DeltaBuilder.java:85)</p>
              <p class="MsoNormal">        at
                java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
                Method)</p>
              <p class="MsoNormal">        at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)</p>
              <p class="MsoNormal">        at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</p>
              <p class="MsoNormal">        at
                java.base/java.lang.reflect.Method.invoke(Method.java:566)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)</p>
              <p class="MsoNormal">        at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)</p>
              <p class="MsoNormal">        at
expression_in_mapping_'Password_and_pwdReset_(to_force_the_password_reset_by_user)'_in_password_mapping_in_projection_(account_(default)_on_resource_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(LDAP)).run(expression
                in mapping
                'Password_and_pwdReset_(to_force_the_password_reset_by_user)'
                in password mapping in projection (account (default) on
                resource: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                (LDAP)):13)</p>
              <p class="MsoNormal">        at
com.evolveum.midpoint.model.common.expression.script.groovy.GroovyScriptEvaluator.evaluateScript(GroovyScriptEvaluator.java:203)</p>
              <p class="MsoNormal">        at
com.evolveum.midpoint.model.common.expression.script.groovy.GroovyScriptEvaluator.evaluateScript(GroovyScriptEvaluator.java:50)</p>
              <p class="MsoNormal">        at
com.evolveum.midpoint.model.common.expression.script.AbstractCachingScriptEvaluator.evaluate(AbstractCachingScriptEvaluator.java:76)</p>
              <p class="MsoNormal">        ... 36 common frames omitted</p>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" rel="noreferrer" target="_blank">midPoint@lists.evolveum.com</a>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" rel="noreferrer" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</blockquote></div>
_______________________________________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:13px"><p><strong>Arnošt Starosta</strong><br><span style="font-size:11px;color:rgb(128,128,128)">solution architect</span></p></div><p style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px">gsm: [+420] 603 794 932<br>e‑mail: <a href="mailto:arnost.starosta@ami.cz" target="_blank">arnost.starosta@ami.cz</a></p><p style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px"><strong>AMI Praha a.s.</strong><br>Pláničkova 11, 162 00 Praha 6</p><p style="color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11px">tel.: [+420] 274 783 239 | web: <a href="https://www.ami.cz" target="_blank">www.ami.cz</a></p><p style="color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10px;margin-top:20px"><img src="http://www.ami.cz/images/podpis/ami_logo.gif" alt="AMI Praha a.s." style="border: 0px none;"></p><p style="font-family:Arial,sans-serif;font-size:11px;color:rgb(170,170,170)">Textem tohoto e‑mailu podepisující neslibuje uzavřít ani neuzavírá za společnost AMI Praha a.s.<br>jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít výhradně písemnou formu.<br><span style="font-size:6px"> </span><br>Tento e‑mail je určen výhradně pro potřeby jeho adresáta/ů a může obsahovat důvěrné nebo osobní<br>informace. Nejste‑li zamýšleným příjemcem, je zakázáno jakékoliv zveřejňování, zprostředkování<br>nebo jiné použití těchto informací. Pokud jste obdrželi e‑mail neoprávněně, informujte o tom prosím<br>odesílatele a vymažte neprodleně všechny kopie tohoto e‑mailu včetně všech jeho příloh. Nakládáním<br>s neoprávněně získanými informacemi se vystavujete riziku právního postihu.</p></div></div></div></div>
</blockquote></div></div>