<HTML><HEAD>
<STYLE id=eMClientCss>BLOCKQUOTE.cite2 {
        MARGIN-TOP: 3px; PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
.plain PRE {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
.plain TT {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
A IMG {
        BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px
}
#x5627be113ff246d0aafdd49004896694 {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
#x9861d15ea1594517ba9de380c4e0118b {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain PRE {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain TT {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
BODY {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
#x9861d15ea1594517ba9de380c4e0118b BLOCKQUOTE.cite {
        PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
</STYLE>

<STYLE>#x5627be113ff246d0aafdd49004896694 BLOCKQUOTE.cite2
{MARGIN-TOP: 3px; PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px}
#x5627be113ff246d0aafdd49004896694 .plain PRE, #x5627be113ff246d0aafdd49004896694 .plain TT
{FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal}
#x5627be113ff246d0aafdd49004896694 A IMG
{BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px}
#x5627be113ff246d0aafdd49004896694 .plain PRE, #x5627be113ff246d0aafdd49004896694 .plain TT, #x5627be113ff246d0aafdd49004896694
{FONT-SIZE: 12pt; FONT-FAMILY: Tahoma}
#x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain PRE, #x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain TT
{FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal}
#x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e A IMG
{BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px}
#x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e, #x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain PRE, #x5627be113ff246d0aafdd49004896694 #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain TT
{FONT-SIZE: 12pt; FONT-FAMILY: Tahoma}
</STYLE>
</HEAD>
<BODY bgColor=#ffffff scroll=auto class>
<DIV>Hi Ivan,</DIV>
<DIV>yes, I mean midpoint library.</DIV>
<DIV> </DIV>
<DIV>I have already found a solution. Here is part of my code (in template or resource definition):</DIV>
<DIV> </DIV>
<DIV>         <script><BR>            <language>http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</language><BR>            <code><BR>            import javax.xml.namespace.QName;<BR>            import com.evolveum.midpoint.prism.query.ObjectQuery;<BR>            import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType;<BR>            import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;<BR>            import com.evolveum.midpoint.prism.query.EqualFilter;<BR>            import com.evolveum.midpoint.prism.path.ItemPath;<BR>            import com.evolveum.midpoint.prism.PrismConstants;</DIV>
<DIV> </DIV>
<DIV>            // ------------ needs to be edited -----------------<BR>            searchAttrName = "managerEmpNumber";     // name of attribute to search<BR>            searchAttrValue = "123456";      // value of attribute to search<BR>            // ------------ needs to be edited (END) -----------------          <BR>            <BR>               filter = EqualFilter.createEqual(new ItemPath(new QName(searchAttrName)), user.asPrismObject().getDefinition().findPropertyDefinition(new QName(searchAttrName)), null, new String(searchAttrValue));<BR>                // use midPoint Library method "searchObjects"<BR>                allUsers = midpoint.searchObjects(UserType.class, ObjectQuery.createObjectQuery(filter));<BR>                log.info('Found users {}', allUsers);</DIV>
<DIV>        ..........<BR></DIV>
<DIV>Now, in allUsers variable are users comply with the defined conditions (who have <SPAN id=x9861d15ea1594517ba9de380c4e0118b style="BACKGROUND-COLOR: #ffffff"><SPAN id=x335551c2b1cb426496c87e59eb6478ba style="BACKGROUND-COLOR: #ffffff">managerEmpNumber </SPAN>= 123456)</SPAN>.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>Regards</DIV>
<DIV>Roman</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma">
<TABLE style="WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: medium 'Times New Roman'; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">
<TBODY>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial, sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)" colSpan=2>
<P><SPAN style="FONT-SIZE: 14px; FONT-WEIGHT: bold">Roman Pudil</SPAN><BR>solution architect<BR><BR>gsm: [+420] 775 663 666<BR>e-mail:<SPAN class=Apple-converted-space> </SPAN><A href="mailto:roman.pudil@ami.cz">roman.pudil@ami.cz</A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial, sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)">
<P>AMI Praha a.s.<BR>Pláničkova 11<BR>162 00 Praha 6<BR>tel./fax: [+420] 274 783 239<BR>web:<SPAN class=Apple-converted-space> </SPAN><A href="http://www.ami.cz/">www.ami.cz</A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial, sans-serif; COLOR: rgb(0,0,0)">
<P><IMG title="AMI Praha a.s." border=0 alt="" src="http://www.ami.cz/images/podpis/ami_logo.gif"></P></TD></TR>
<TR>
<TD colSpan=8><BR><A href="http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management"><IMG border=0 alt="" src="http://www.ami.cz/images/podpis/AMI-podpis-IdM_1.png"></A></TD></TR>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial, sans-serif; COLOR: rgb(128,128,128)" colSpan=8><BR>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.</TD></TR></TBODY></TABLE></DIV></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>------ Původní zpráva ------</DIV>
<DIV>Od: "Ivan Noris" <<A href="mailto:ivan.noris@evolveum.com">ivan.noris@evolveum.com</A>></DIV>
<DIV>Komu: <A href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</A></DIV>
<DIV>Odesláno: 5.11.2015 16:14:57</DIV>
<DIV>Předmět: Re: [midPoint] How to create User-User association?</DIV>
<DIV> </DIV>
<DIV id=x5627be113ff246d0aafdd49004896694 style="COLOR: #000000">
<BLOCKQUOTE class=cite2 cite=563B7271.4030009@evolveum.com type="cite">Hi Roman,<BR><BR>you mean by using midpoint library or some other means..?<BR><BR>i.<BR><BR>
<DIV class=moz-cite-prefix>On 11/03/2015 09:42 AM, Roman Pudil - AMI Praha a.s. wrote:<BR></DIV>
<BLOCKQUOTE class=cite cite=mid:em0cfccc28-3967-4c98-ae6b-49741ed0693a@rpudil-dell7440 type="cite">
<STYLE><![CDATA[#x8faa4be2f5ce4fa6b0a3f6d9d12fd92e BLOCKQUOTE.cite2
{MARGIN-TOP: 3px; PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px}
#x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain PRE, #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain TT
{FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal}
#x8faa4be2f5ce4fa6b0a3f6d9d12fd92e A IMG
{BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px}
#x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain PRE, #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e .plain TT, #x8faa4be2f5ce4fa6b0a3f6d9d12fd92e
{FONT-SIZE: 12pt; FONT-FAMILY: Tahoma}
]]></STYLE>

<DIV>Hi Ivan,</DIV>
<DIV> </DIV>
<DIV>thanks, it partly helped me!</DIV>
<DIV>How can I search user in MidPoint repository by other attribute (or extension attribute) than name?</DIV>
<DIV> </DIV>
<DIV>Thanks!</DIV>
<DIV>Regards</DIV>
<DIV>Roman</DIV>
<DIV> </DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma">
<TABLE style="WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: medium 'Times New Roman'; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">
<TBODY>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                   sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)" colSpan=2>
<P><SPAN style="FONT-SIZE: 14px; FONT-WEIGHT: bold">Roman Pudil</SPAN><BR>solution architect<BR><BR>gsm: [+420] 775 663 666<BR>e-mail:<SPAN class=Apple-converted-space> </SPAN><A href="mailto:roman.pudil@ami.cz" moz-do-not-send="true"><A class=moz-txt-link-abbreviated href="mailto:roman.pudil@ami.cz">roman.pudil@ami.cz</A></A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                   sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)">
<P>AMI Praha a.s.<BR>Pláničkova 11<BR>162 00 Praha 6<BR>tel./fax: [+420] 274 783 239<BR>web:<SPAN class=Apple-converted-space> </SPAN><A href="http://www.ami.cz/" moz-do-not-send="true"><A class=moz-txt-link-abbreviated href="http://www.ami.cz/">www.ami.cz</A></A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                   sans-serif; COLOR: rgb(0,0,0)">
<P><IMG title="AMI Praha a.s." border=0 alt="" src="http://www.ami.cz/images/podpis/ami_logo.gif" moz-do-not-send="true"></P></TD></TR>
<TR>
<TD colSpan=8><BR><A href="http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management" moz-do-not-send="true"><IMG border=0 alt="" src="http://www.ami.cz/images/podpis/AMI-podpis-IdM_1.png" moz-do-not-send="true"></A></TD></TR>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                   sans-serif; COLOR: rgb(128,128,128)" colSpan=8><BR>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.</TD></TR></TBODY></TABLE></DIV></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>------ Původní zpráva ------</DIV>
<DIV>Od: "Ivan Noris" <<A href="mailto:ivan.noris@evolveum.com" moz-do-not-send="true">ivan.noris@evolveum.com</A>></DIV>
<DIV>Komu: <A href="mailto:midpoint@lists.evolveum.com" moz-do-not-send="true">midpoint@lists.evolveum.com</A></DIV>
<DIV>Odesláno: 2.11.2015 13:48:47</DIV>
<DIV>Předmět: Re: [midPoint] How to create User-User association?</DIV>
<DIV> </DIV>
<DIV id=x8faa4be2f5ce4fa6b0a3f6d9d12fd92e style="COLOR: #000000">
<BLOCKQUOTE class=cite2 cite=56375BAF.5010303@evolveum.com type="cite">Hi Roman,<BR><BR>I have done this for another (not AD) directory using midpoint's organizational structure, fetching the manager and his/her account attribute(s), i.e. not using entitlements.<BR><BR>It was something like this:<BR><BR>                <attribute><BR>                    <ref>ri:manager</ref><BR>                    <tolerant>false</tolerant><BR>                    <outbound><BR>                        <strength>strong</strength><BR>                        <expression><BR>                            <script><BR>                                <code><BR>import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType<BR>import static com.evolveum.midpoint.schema.constants.SchemaConstants.*<BR><BR>// get managers<BR>tmpManagers = midpoint.getManagersByOrgType(user, 'functional')<BR>managerUser = null<BR>if (!tmpManagers?.isEmpty()) managerUser = tmpManagers.iterator().next() <!-- XXX We take FIRST manager --><BR><BR>if (managerUser) {<BR>// get shadow for the resource we're interested (by oid)<BR><BR>    managerShadow = midpoint.getLinkedShadow(managerUser, 'b26554d2-41fc-11e5-a652-3c970e44b9e2', ShadowKindType.ACCOUNT, 'default')<BR>    if (managerShadow) {<BR>        managerDn = basic.getAttributeValue(managerShadow, '<A class=moz-txt-link-freetext href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3" moz-do-not-send="true"><A class=moz-txt-link-freetext href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3</A></A>', 'dn')<BR>        return managerDn<BR>    }<BR>}<BR>return null<BR>                                </code><BR>                            </script><BR>                        </expression><BR>                        <condition><BR>. . .<BR>                    </outbound><BR>                </attribute><BR><BR>Does this help a little?<BR><BR>Be adwised as there is no source in the mapping, if manager of the user changes in midPoint, you need to recompute.<BR><BR>Regards,<BR>Ivan<BR><BR>
<DIV class=moz-cite-prefix>On 11/02/2015 01:04 PM, Roman Pudil - AMI Praha a.s. wrote:<BR></DIV>
<BLOCKQUOTE class=cite cite=mid:em593a8184-2a4a-4b15-98a5-230da69aa2af@rpudil-dell7440 type="cite">
<DIV>Hi all,</DIV>
<DIV>how to create user-user manager association (like user-entitlements) in midPoint resource?</DIV>
<DIV> </DIV>
<DIV>I have Active Directory resource and in user object filled "manager" attribute (DN of another user) in AD.</DIV>
<DIV>What is the right way to create user-manager association?</DIV>
<DIV> </DIV>
<DIV>It seems, that user-entitlements association example modified to user-manager association does not work.</DIV>
<DIV> </DIV>
<DIV>Here is part of my code - "account" schema handling on Active Directory resource:</DIV>
<DIV> </DIV>
<DIV><FONT face=Verdana>         <association><BR>            <c:ref>ri:mgr</c:ref><BR>            <displayName>Manager</displayName><BR>            <kind>account</kind><BR>            <intent>uzivatel-ad</intent><BR>            <direction>subjectToObject</direction><BR>            <associationAttribute>ri:manager</associationAttribute><BR>            <valueAttribute>icfs:name</valueAttribute><BR>         </association></FONT></DIV>
<DIV> </DIV>
<DIV>Thanks!</DIV>
<DIV>Regards</DIV>
<DIV>Roman</DIV>
<DIV> </DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma">
<TABLE style="WHITE-SPACE: normal; WORD-SPACING: 0px; BORDER-COLLAPSE: collapse; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); FONT: medium 'Times New Roman'; WIDOWS: 1; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">
<TBODY>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                         sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)" colSpan=2>
<P><SPAN style="FONT-SIZE: 14px; FONT-WEIGHT: bold">Roman Pudil</SPAN><BR>solution architect<BR><BR>gsm: [+420] 775 663 666<BR>e-mail:<SPAN class=Apple-converted-space> </SPAN><A class=moz-txt-link-abbreviated href="mailto:roman.pudil@ami.cz" moz-do-not-send="true"><A class=moz-txt-link-abbreviated href="mailto:roman.pudil@ami.cz">roman.pudil@ami.cz</A></A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                         sans-serif; VERTICAL-ALIGN: bottom; COLOR: rgb(0,0,0)">
<P>AMI Praha a.s.<BR>Pláničkova 11<BR>162 00 Praha 6<BR>tel./fax: [+420] 274 783 239<BR>web:<SPAN class=Apple-converted-space> </SPAN><A class=moz-txt-link-abbreviated href="http://www.ami.cz/" moz-do-not-send="true"><A class=moz-txt-link-abbreviated href="http://www.ami.cz/">www.ami.cz</A></A></P></TD>
<TD style="BORDER-RIGHT: rgb(204,204,204) 1px solid">   </TD>
<TD>   </TD>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                         sans-serif; COLOR: rgb(0,0,0)">
<P><IMG title="AMI Praha a.s." border=0 alt="" src="http://www.ami.cz/images/podpis/ami_logo.gif" moz-do-not-send="true"></P></TD></TR>
<TR>
<TD colSpan=8><BR><A href="http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management" moz-do-not-send="true"><IMG border=0 alt="" src="http://www.ami.cz/images/podpis/AMI-podpis-IdM_1.png" moz-do-not-send="true"></A></TD></TR>
<TR>
<TD style="FONT-SIZE: 11px; FONT-FAMILY: Arial,                         sans-serif; COLOR: rgb(128,128,128)" colSpan=8><BR>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.</TD></TR></TBODY></TABLE></DIV></DIV>
<DIV> </DIV><BR>
<FIELDSET class=mimeAttachmentHeader></FIELDSET> <BR><PRE wrap="">_______________________________________________
midPoint mailing list
<A class=moz-txt-link-abbreviated href="mailto:midPoint@lists.evolveum.com" moz-do-not-send="true">midPoint@lists.evolveum.com</A>
<A class=moz-txt-link-freetext href="http://lists.evolveum.com/mailman/listinfo/midpoint" moz-do-not-send="true">http://lists.evolveum.com/mailman/listinfo/midpoint</A>
</PRE></BLOCKQUOTE><BR><PRE class=moz-signature cols="72">-- 
  Ing. Ivan Noris
  Senior Identity Management Engineer & IDM Architect
  evolveum.com                     evolveum.com/blog/
  ___________________________________________________
  "Semper Id(e)M Vix."
</PRE></BLOCKQUOTE></DIV><BR>
<FIELDSET class=mimeAttachmentHeader></FIELDSET> <BR><PRE wrap="">_______________________________________________
midPoint mailing list
<A class=moz-txt-link-abbreviated href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</A>
<A class=moz-txt-link-freetext href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</A>
</PRE></BLOCKQUOTE><BR><PRE class=moz-signature cols="72">-- 
  Ing. Ivan Noris
  Senior Identity Management Engineer & IDM Architect
  evolveum.com                     evolveum.com/blog/
  ___________________________________________________
  "Semper Id(e)M Vix."
</PRE></BLOCKQUOTE></DIV></BODY></HTML>