<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Dharmendra,<br>
<br>
it is not supported to test references using <equal>
condition. You have to use <ref> one. <br>
<br>
So I suggest to replace "<equal ..." section in
.parseSearchFilterType() call with this one<br>
<br>
<ref><br>
<path>assignment/targetRef</path><br>
<value><br>
<oid><b><font color="#cc0000"> ... put roleOid here
... </font></b></oid><br>
<type>RoleType</type><br>
</value><br>
</ref><br>
<br>
It should work. :-) If not, please let me know.<br>
<br>
Best regards,<br>
Pavol<br>
<br>
</div>
<blockquote
cite="mid:CAJG9dDuJqy30iBPiVOL8qADUthdED94FdbSn024pANa+yfY7hA@mail.gmail.com"
type="cite">
<div dir="ltr">HI
<div><br>
</div>
<div>I tried it but didn't work for me, I am using following
code:</div>
<div><br>
</div>
<div>
<div><span class="" style="white-space:pre"> </span>private
static List<UserType> searchRoleMembers(ModelPortType
modelPort, String roleOid) throws SAXException, IOException,
FaultMessage, JAXBException {</div>
<div><span class="" style="white-space:pre"> </span>//
WARNING: in a real case make sure that the username is
properly</div>
<div><span class="" style="white-space:pre"> </span>//
escaped before putting it in XML</div>
<div><span class="" style="white-space:pre"> </span>SearchFilterType
filter = ModelClientUtil</div>
<div><span class="" style="white-space:pre"> </span>.parseSearchFilterType("<equal
xmlns='<a moz-do-not-send="true"
href="http://prism.evolveum.com/xml/ns/public/query-3">http://prism.evolveum.com/xml/ns/public/query-3</a>'
xmlns:c='<a moz-do-not-send="true"
href="http://midpoint.evolveum.com/xml/ns/public/common/common-3">http://midpoint.evolveum.com/xml/ns/public/common/common-3</a>'
>"</div>
<div><span class="" style="white-space:pre"> </span>+
"<path>assignment/targetRef</path>" +
"<value><oid>" + roleOid + "</oid>
<type>RoleType</type> </value>" +
"</equal>");</div>
<div><span class="" style="white-space:pre"> </span>QueryType
query = new QueryType();</div>
<div><span class="" style="white-space:pre"> </span>query.setFilter(filter);</div>
<div><span class="" style="white-space:pre"> </span>SelectorQualifiedGetOptionsType
options = new SelectorQualifiedGetOptionsType();</div>
<div><span class="" style="white-space:pre"> </span>Holder<ObjectListType>
objectListHolder = new Holder<ObjectListType>();</div>
<div><span class="" style="white-space:pre"> </span>Holder<OperationResultType>
resultHolder = new Holder<OperationResultType>();</div>
<div><br>
</div>
<div><span class="" style="white-space:pre"> </span>modelPort.searchObjects(ModelClientUtil.getTypeQName(UserType.class),
query, options, objectListHolder, resultHolder);</div>
<div><br>
</div>
<div><span class="" style="white-space:pre"> </span>ObjectListType
objectList = objectListHolder.value;</div>
<div><span class="" style="white-space:pre"> </span>List<ObjectType>
objects = objectList.getObject();</div>
<div><span class="" style="white-space:pre"> </span>if
(objects.isEmpty()) {</div>
<div><span class="" style="white-space:pre"> </span>return
null;</div>
<div><span class="" style="white-space:pre"> </span>}</div>
<div><span class="" style="white-space:pre"> </span>List<UserType>
result = new ArrayList<>(objects.size());</div>
<div><span class="" style="white-space:pre"> </span>for(ObjectType
object: objects ){</div>
<div><span class="" style="white-space:pre"> </span>result.add((UserType)
object);</div>
<div><span class="" style="white-space:pre"> </span>}</div>
<div><span class="" style="white-space:pre"> </span>return
result;</div>
<div><span class="" style="white-space:pre"> </span>}</div>
<div><span class="" style="white-space:pre"> </span></div>
</div>
<div>Am i doing anything wrong?</div>
<div><br>
</div>
<div>Thanks!</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Feb 12, 2015 at 4:36 PM, Pavol
Mederly <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>You can easily get all users that have <b>directly</b>
assigned a role - it is a search on UserType using the
following criteria:<br>
<br>
<ref><br>
<path>assignment/targetRef</path><br>
<value><br>
<oid>00000000-0000-0000-0000-000000000004</oid><br>
<type>RoleType</type><br>
</value><br>
</ref><br>
<br>
(replace 00000000-0000-0000-0000-000000000004 with the
OID of your role)<br>
<br>
However, this does not find users that have such a role
assigned indirectly (e.g. as inducement in another
role). This is not currently supported.<br>
<br>
Best regards,<br>
Pavol<br>
<br>
</div>
<div>
<div class="h5">
<blockquote type="cite">
<div dir="ltr">HI
<div><br>
</div>
<div>Thanks for the information, this works.</div>
<div><br>
</div>
<div>One more thing Our requirement is to
reconcile users associated to some specific
role, So is there a way to get the users
associated to a role without iterating all the
users.</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks!</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Feb 12, 2015 at
3:27 PM, Pavol Mederly <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:mederly@evolveum.com"
target="_blank">mederly@evolveum.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hello Manish,<br>
<br>
I've just pushed a sample code that
demonstrates this.<br>
<br>
Here is the java code - actually, it's an
empty modification with RECONCILE option
set (see red lines):<br>
<br>
<p><span><span> </span>private static
void reconcileUser(ModelPortType
modelPort, String oid) throws
FaultMessage {</span></p>
<span style="font-family:"Courier
New""> </span>
<p><span><span> </span>ObjectDeltaType
userDelta = new ObjectDeltaType();</span></p>
<p><span><span> </span>userDelta.setOid(oid);</span></p>
<p><span><span> </span>userDelta.setObjectType(ModelClientUtil.getTypeQName(UserType.class));</span></p>
<p><span><span> </span><span> </span>userDelta.setChangeType(ChangeTypeType.MODIFY);</span></p>
<p><span> </span></p>
<p><span><span> </span>ObjectDeltaListType
deltaList = new ObjectDeltaListType();</span></p>
<p><span><span> </span>deltaList.getDelta().add(userDelta);</span></p>
<p><span> </span></p>
<p><font color="#cc0000"><span
style="font-family:"Courier
New""><span> </span>ModelExecuteOptionsType
optionsType = new
ModelExecuteOptionsType();</span></font></p>
<font color="#cc0000"> </font>
<p><font color="#cc0000"><span
style="font-family:"Courier
New""><span> </span>optionsType.setReconcile(true);</span></font></p>
<font color="#cc0000"> </font>
<p><span><span> </span>modelPort.executeChanges(deltaList,
optionsType);</span></p>
<p><span><span> </span>}</span></p>
<br>
This is how it looks like in XML:<br>
<br>
<font size="-1"><soap:Body><br>
<ns8:executeChanges <br>
xmlns:ns2=<a
moz-do-not-send="true"
href="http://prism.evolveum.com/xml/ns/public/types-3"
target="_blank">"http://prism.evolveum.com/xml/ns/public/types-3"</a>
<br>
xmlns:ns3=<a
moz-do-not-send="true"
href="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
target="_blank">"http://midpoint.evolveum.com/xml/ns/public/common/common-3"</a>
<br>
xmlns:ns8=<a
moz-do-not-send="true"
href="http://midpoint.evolveum.com/xml/ns/public/model/model-3"
target="_blank">"http://midpoint.evolveum.com/xml/ns/public/model/model-3"</a>
<br>
xmlns:ns9=<a
moz-do-not-send="true"
href="http://midpoint.evolveum.com/xml/ns/public/common/api-types-3"
target="_blank">"http://midpoint.evolveum.com/xml/ns/public/common/api-types-3"</a>><br>
<br>
<ns8:deltaList><br>
<ns9:delta><br>
<ns2:changeType>modify</ns2:changeType><br>
<ns2:objectType>ns3:UserType</ns2:objectType><br>
<ns2:oid>c0c010c0-d34d-b33f-f00d-11111111ec1e</ns2:oid><br>
</ns9:delta><br>
</ns8:deltaList><br>
<font color="#cc0000">
<ns8:options><br>
<ns3:reconcile>true</ns3:reconcile><br>
</ns8:options><br>
</font>
</ns8:executeChanges><br>
</soap:Body></font><br>
<br>
Hope this helps.<br>
Pavol
<div>
<div><br>
<br>
On 10. 2. 2015 22:40, Manish Baid
wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div
style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica
Neue,Helvetica,Arial,Lucida
Grande,sans-serif;font-size:14px">
<div dir="ltr">Hi,</div>
<div dir="ltr">Using webservice
client, can you please share some
pointers on how to:
programmatically "reconcile a
user"?</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Basically, we are
trying to re-enforce
role-inducement updates to
"affected" users.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Thanks<br>
</div>
<div dir="ltr"> </div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
midPoint mailing list
<a moz-do-not-send="true" href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a moz-do-not-send="true" href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
midPoint mailing list
<a moz-do-not-send="true" href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a moz-do-not-send="true" href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
midPoint mailing list<br>
<a moz-do-not-send="true"
href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><br>
<a moz-do-not-send="true"
href="http://lists.evolveum.com/mailman/listinfo/midpoint"
target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
<br>
</blockquote>
</div>
<br>
</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>
</body>
</html>