<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello Paul,</p>
<p>this is a quirk from the prehistory of midPoint: references are
not filtered using q:equal but using q:ref.</p>
<p>Furthermore, you may eliminate custom coding by using "unassign"
action that provides a filter for assigments to be removed.</p>
<p>See e.g. <a moz-do-not-send="true"
href="https://github.com/Evolveum/midpoint/blob/75e549f2e5ce52ab4b008c18e2e7ba8b2072e151/model/model-intest/src/test/resources/scripting/unassign-captain-from-jack.xml#L18-L26"
class="moz-txt-link-freetext">https://github.com/Evolveum/midpoint/blob/75e549f2e5ce52ab4b008c18e2e7ba8b2072e151/model/model-intest/src/test/resources/scripting/unassign-captain-from-jack.xml#L18-L26</a>
for an example.</p>
<p>Hope this helps. No guarantees, though. :)<br>
</p>
<pre class="moz-signature" cols="72">--
Pavol Mederly
Software developer
evolveum.com</pre>
<div class="moz-cite-prefix">On 17/08/2023 17:03, Paul Caskey via
midPoint wrote:<br>
</div>
<blockquote type="cite"
cite="mid:SN6PR08MB6126D7984A70451217C1167DFF1AA@SN6PR08MB6126.namprd08.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@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;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-ligatures:none;}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]-->
<div class="WordSection1">
<p class="MsoNormal">I am trying to remove all user assignments
to OrgType objects in a bulk action task but am having
trouble.<o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal">I think I have the filter correct, but I’m
having trouble with the script when it tries to examine the
type on a given assignment (to prepare it for deletion).<o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal">This is the filter:<o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <q:filter><o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <q:equal><o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
<q:path>assignment/targetRef</q:path><o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <q:value
type="OrgType" /><o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
</q:equal><o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </q:filter><o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal">And this is the first part of the script
that checks the assignment for a user:<o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â UserType
user = input as UserType<o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â for
(AssignmentType assignment : user.getAssignment()) {<o:p></o:p></p>
<p class="MsoNormal">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if
(aassignment.targetRef.type == 'OrgType') {<o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal">The error I am getting is:<o:p></o:p></p>
<p class="MsoNormal">class
com.evolveum.midpoint.prism.impl.PrismReferenceValueImpl
cannot be cast to class
com.evolveum.midpoint.prism.PrismPropertyValue
(com.evolveum.midpoint.prism.impl.PrismReferenceValueImpl and
com.evolveum.midpoint.prism.PrismPropertyValue are in unnamed
module of loader
org.springframework.boot.loader.LaunchedURLClassLoader
@2e0fa5d3)<o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
<p class="MsoNormal">Thanks in advance for any help!<o:p></o:p></p>
<p class="MsoNormal">-Paul<o:p></o:p></p>
<p class="MsoNormal"><o:p>Â </o:p></p>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-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="https://lists.evolveum.com/mailman/listinfo/midpoint">https://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</body>
</html>