<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.gmail-apple-tab-span
        {mso-style-name:gmail-apple-tab-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Arial",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="NL-BE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US">Hi Nicolas,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US">Perhaps you can try the following.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">for (Object extension : et.getAny()) {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">         System.out.println(((Element) extension).getFirstChild().getNodeValue());<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US">Element is the dom class org.w3c.dom.Element;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US">Glenn Boschmans<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div lang="FR-BE" vlink="#6c606a" link="#005dba">
<div class="WordSection1">
<table border="0">
<tbody>
<tr>
<td style="BORDER-RIGHT: #fecb00 thin solid; WIDTH: 306px" valign="top" width="322">
<img border="0" hspace="0" src="cid:cibg_aee22c14-e9ed-4d7b-8c27-f6c4a26e7736.png" width="300" height="101"></td>
<td valign="top">
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; LINE-HEIGHT: normal"><span class="TitreCar"><b><span lang="EN-US" style="FONT-SIZE: 15pt; FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #0080bf">Glenn Boschmans</span></b></span><br>
<span class="MsoSubtleReference"><span lang="EN-US" style="FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #0a00be">Consultant</span></span><br>
<span lang="EN-US" style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #164397">Business Integrated Solutions
</span><br>
<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Calibri Light','sans-serif'">Kunstlaan 21, 1000 Brussel -
</span><span lang="EN-US" style="FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #0080bf"><a href="http://cibg.brussels"><span style="FONT-SIZE: 10pt; COLOR: #0080bf">cibg.brussels</span></a></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Calibri Light','sans-serif'">
 - </span><span lang="EN-US" style="FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #0080bf"><a href="http://cibg.brussels/disclaimer-1"><span style="FONT-SIZE: 10pt; COLOR: #0080bf">disclaimer</span></a></span><br>
<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Calibri Light','sans-serif'">+32 2 282 47 70<span style="COLOR: #fecb00"> | </span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Calibri Light', 'sans-serif'; COLOR: #000000"> 
<span style="COLOR: #000000"><br>
<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Calibri Light','sans-serif'; COLOR: #61c250">Be green, leave it on the screen !</span>                                                      
</span></span><a href="http://www.linkedin.com/company/cirb_cibg"><img border="0" src="cid:ln_e679eb12-caaa-4d0d-b64d-b39c820c309b.png" width="22" height="19"></a>  <a href="https://twitter.com/CIRB_CIBG"><img border="0" src="cid:tw_20cfb408-d952-4ea7-a757-a8716eaac012.png" width="19" height="19"></a>  <a href="http://www.leefmilieu.brussels/themas/duurzame-stad/label-ecodynamische-onderneming"><img border="0" hspace="0" src="cid:logo_eco_mail_e3e2fbdd-9cbf-4a5b-b0c1-1624e00ef4cd.jpg"></a></span></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> midPoint [mailto:midpoint-bounces@lists.evolveum.com]
<b>On Behalf Of </b>Nicolas Rossi<br>
<b>Sent:</b> woensdag 8 februari 2017 0:57<br>
<b>To:</b> midPoint General Discussion<br>
<b>Subject:</b> [midPoint] Access to UserType extensions from model-client<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:#444444">Hi guys, we have a customer with a User schema extension and we are trying to access this data using the API of UserType from external Java application. We get the user with the
 model-client example but we couldn't find the way to acces the extension properties. Here is an example:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:#444444"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">ModelPortType modelPort = createModelPort();</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">Holder<ObjectType> objectHolder = new Holder<ObjectType>();</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">Holder<OperationResultType> resultHolder = new Holder<OperationResultType>();</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">SelectorQualifiedGetOptionsType options = new SelectorQualifiedGetOptionsType();</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span class="gmail-apple-tab-span"><span style="font-family:"Courier New";color:#444444">        
</span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">modelPort.getObject(ModelClientUtil.getTypeQName(UserType.class), "2f749a40-d535-470b-ba7d-639adc364a52", options, objectHolder, resultHolder);</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span class="gmail-apple-tab-span"><span style="font-family:"Courier New";color:#444444">        
</span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">UserType user = (UserType) objectHolder.value;</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">ExtensionType et = user.getExtension();</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">for(int i=0; i < et.getAny().size(); i++)</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">{</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="gmail-apple-tab-span"><span style="font-family:"Courier New";color:#444444">    
</span></span><span style="font-family:"Courier New";color:#444444">Object o = et.getAny().get(i);</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span class="gmail-apple-tab-span"><span style="font-family:"Courier New";color:#444444">    
</span></span><span style="font-family:"Courier New";color:#444444">System.out.println("Extension --> " + o.toString());</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Courier New";color:#444444">}</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:#444444"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:#444444">Looking at the email sent from Ana Pereyra to the mailing list last week asking about writing Extension Attributes I guees we should code something like that:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:#444444"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:9.5pt;font-family:"Courier New";color:#222222">QName relationQName = new QName("</span><span style="font-family:"Courier New";color:#444444"><a href="http://midpoint.identicum.com/xml/ns/metaAssignment" target="_blank"><span style="font-size:9.5pt">http://midpoint.identicum.com/xml/ns/metaP</span></a>erson</span><span style="font-size:9.5pt;font-family:"Courier New";color:#222222">",
 "extensionAttribute");<br>
ExtensionType ext = new ExtensionType();<br>
ext.asPrismContainerValue().getPropertyRealValue(relationQName);</span><span style="color:#444444"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">But I don't have access to "asPrismContainerValue" method on the extension type. I have been looking on github examples but there is no reference to access this values. Has anyone tried this before ?</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">Thranks in advance,</span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><br>
<br>
<span style="color:#444444">Ing Nicolás Rossi</span><br>
<span style="color:#999999">Identicum S.A.</span><br>
<span style="color:#999999">Jorge Newbery 3226</span><br>
<span style="color:#999999">Tel: +54 (11) 4552-3050</span><br>
<span style="color:#999999"><a href="http://www.identicum.com" target="_blank">www.identicum.com</a></span></span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>