<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>