[midPoint] support 3.7 bug connected with target set

Jan Vaňáček - AMI Praha a.s. jan.vanacek at ami.cz
Thu Apr 11 15:43:28 CEST 2019


Hello guys,

it seems that there is a bug in support 3.7 branch (
git-v3.7.2-125-g6ad06a767f) – connected with <target><set><condition>
construction.



We have midpoint with 2 nodes. Node A (git-v3.7.2-104-gc91e30d) and Node B (
git-v3.7.2-125-g6ad06a767f).

On Node B it tries to remove assignments on user when I try to recompute
it. I tried to log it and workflow is the same, just there is a different
behaviour.

And it seems that it is just related to target sets on resource (not in
templates).



Our scenario is following:

We have user from Resource R. In the resource there are 2 mappings (using
target set) which assign him 2 different roles (workplace and building).
When I try to recompute user, it tries to remove assignments.





<attribute>

  <c:ref>ri:ORG_SystemisedSite_TreeNum</c:ref>

  <inbound>

     <expression>

        <assignmentTargetSearch
xsi:type="c:SearchObjectRefExpressionEvaluatorType">

           <targetType>c:OrgType</targetType>

           <filter>

              <q:and>

                 <q:equal>

                    <q:path>identifier</q:path>

                    <expression>

                       <script xsi:type="c:ScriptExpressionEvaluatorType">

                          <code>

                             return basic.getAttributeValue(account, '
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3',
'ORG_SystemisedSite_TreeNum');

                          </code>

                       </script>

                    </expression>

                 </q:equal>

                 <q:equal>

                    <q:path>orgType</q:path>

                    <expression>

                       <value>WORKPLACE</value>

                    </expression>

                 </q:equal>

              </q:and>

           </filter>

        </assignmentTargetSearch>

     </expression>

    <target>

      <c:path>$focus/assignment</c:path>

      <set>

        <condition>

          <script>

            <code>

                import
com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;

                import
com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;

                import
com.evolveum.midpoint.util.exception.ObjectNotFoundException;

                import javax.xml.namespace.QName;

                import com.evolveum.midpoint.schema.util.ObjectTypeUtil;

                import
com.evolveum.midpoint.schema.constants.SchemaConstants



                final String NS_C = "
http://midpoint.evolveum.com/xml/ns/public/common/common-3";

                if (assignment.targetRef != null) {

                   ObjectReferenceType ort = assignment.getTargetRef();

                   if(ort.getType() == new QName(NS_C, "OrgType")) {

                      try {

                         OrgType current = (OrgType)
midpoint.getObject(OrgType.class, ort.getOid());


                         if (current.getOrgType().contains("WORKPLACE")) {

                            return true; // zde definujeme ze tento vztah
ridi organizacni jednotky typu workplace

                         }

                      }catch(ObjectNotFoundException nf){

                         return false;

                      }

                   }

                }

                return false;

            </code>

          </script>

        </condition>

      </set>

    </target>



*Jan Vaňáček*
JAVA programátor

gsm: [+420] 734 510 214
e-mail: jan.vanacek at ami.cz

*AMI Praha a.s.*
Pláničkova 11, 162 00 Praha 6



tel.: [+420] 274 783 239 | web: www.ami.cz



[image: AMI Praha a.s.]



Textem tohoto e‑mailu podepisující neslibuje uzavřít ani neuzavírá
za společnost AMI Praha a.s.
jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít výhradně
písemnou formu.

Tento e‑mail je určen výhradně pro potřeby jeho adresáta/ů a může obsahovat
důvěrné nebo osobní
informace. Nejste‑li zamýšleným příjemcem, je zakázáno jakékoliv
zveřejňování, zprostředkování
nebo jiné použití těchto informací. Pokud jste obdrželi e‑mail neoprávněně,
informujte o tom prosím
odesílatele a vymažte neprodleně všechny kopie tohoto e‑mailu včetně
všech jeho příloh. Nakládáním
s neoprávněně získanými informacemi se vystavujete riziku právního postihu.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190411/4f806f91/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 2900 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190411/4f806f91/attachment.gif>


More information about the midPoint mailing list