<div style="font-family: Arial, sans-serif; font-size: 14px;">Hi,</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span style="scrollbar-width:thin">[Using: midpoint 4.8.5]</span><br><span style="scrollbar-width:thin"></span><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">I'm trying to create an expression filter for notifications, but I simply cannot get it to work.</div><div style="font-family: Arial, sans-serif; font-size: 14px;">General idea is this: </div><div style="font-family: Arial, sans-serif; font-size: 14px;">"if CEO has delegated approvals to someone, do not send email to CEO"</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Basic issue:</div><div style="font-family: Arial, sans-serif; font-size: 14px;">using advanved query in gui, query playground and groovycode in script returns different values.</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Set up:</div><div style="font-family: Arial, sans-serif; font-size: 14px;">from user CEO I have delegated to two users. When using the advanced search</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>"assignment/targetRef matches (oid="<oid of ceo>" and targetType=UserType and relation=deputy)"</span><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>I get the two users.</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>Since there is also a delegatedRef, I also tried:</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span>"delegatedRef matches (oid="<oid of ceo>" and relation=deputy)" and got two results.</span><br></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">All good, now, moving to the expressionFilter:</div><div style="font-family: Arial, sans-serif; font-size: 14px;">---</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><div><span> queryfor= "assignment/targetRef matches (oid='<oid of ceo>' and targetType=UserType and relation=deputy)"</span></div><div><span> uQuery = midpoint.queryFor(UserType.class, queryfor)</span></div><div><span> ceoDelegatedTo = midpoint.searchObjects(uQuery)</span></div><span></span>---</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">the returned list is empty.</div><div style="font-family: Arial, sans-serif; font-size: 14px;">I have tried using the delegatedRef as well, same result.</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">I have also tried:</div><div style="font-family: Arial, sans-serif; font-size: 14px;">----</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span> ref = midpoint.getPrismContext().itemFactory().createReferenceValue(ceoOid, UserType.COMPLEX_TYPE)</span><div><span> ref.setRelation(new QName("deputy")) <- also tried org:deputy</span></div><div><span> query = prismContext.queryFor(UserType.class)</span></div><div><span> .item(UserType.F_DELEGATED_REF).ref(ref)</span></div><div><span> .build()</span></div><div><span> ceoDelegatedTo = midpoint.searchObjects(UserType.class, query)</span></div><span></span><span style="scrollbar-width:thin">----</span><br>still empty list.</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Using the query playground, this:</div><div style="font-family: Arial, sans-serif; font-size: 14px;">---</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>import com.evolveum.midpoint.xml.ns._public.common.common_3.*</span><div><span>queryfor="delegatedRef matches (oid=\"6b1aad6b-02f3-4d2d-8edb-fff371d0bbb6\" and relation=deputy)"</span></div><span>uQuery = midpoint.queryFor(UserType.class, queryfor)</span><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>---</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>returns the two users.</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>Adding: </span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>---</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span>midpoint.searchObjects(uQuery)</span></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span>---</span></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;">and I get an error "<span>Expression returned more than one value (2) in </span>"</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>I have to use:</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span>---</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span style="display: inline !important; background-color: rgb(255, 255, 255);">midpoint.searchObjects(uQuery).toString()</span></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span style="display: inline !important; background-color: rgb(255, 255, 255);">---</span></span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span><span style="display: inline !important; background-color: rgb(255, 255, 255);"><div style="scrollbar-width:thin"><span style="display: inline !important; background-color: rgb(255, 255, 255);">to get expected two values.</span><br></div><div style="scrollbar-width:thin"><br></div><div style="scrollbar-width:thin">What am I missing here?</div><div style="scrollbar-width:thin"><br></div><span style="scrollbar-width:thin"></span></span></span></div>
<div class="protonmail_signature_block" style="font-family: Arial, sans-serif; font-size: 14px;">
<div class="protonmail_signature_block-user">
Markus Calmius<br>Proton AG
</div>
<div class="protonmail_signature_block-proton protonmail_signature_block-empty">
</div>
</div>