Uploaded image for project: 'MidPoint'
  1. MidPoint
  2. MID-2492

When iterator is applied, induced associations from roles are lost

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.2 (Tycho)
    • Fix Version/s: 3.3 (Lincoln)
    • Component/s: Model
    • Labels:
      None

      Description

      1) Create a user U with role R that induces an account with association of group G.

      2) Let there be a conflicting account. So the iterator will be applied and an account U2 will be created.

      However, U2 will not have assigned the group.

      It's because constructionDeltaSetTriple gets removed on iteration (ProjectionValuesProcessor:445 - cleanupContext call).

      Before:

      Account constructionDeltaSetTriple:
              DeltaSetTriple:
                zero: null
                plus:
                    Construction:Discr(RSD(account (default) @11111111-2222-3333-4444-000000000000))
                      isValid:true
                      auxiliary object classes: (empty)
                      association mappings:
                        M({...resource/instance-3}group = PVDeltaSetTriple(zero: []; plus: [PCV(null):[PP({.../common/common-3}name):[PPV(QName:{...resource/instance-3}group)], PrismReference({.../common/common-3}shadowRef):[PRV(oid=890ad27c-6c46-4063-ab0b-98e7c340713b, targetType=null)]]]; minus: []; ), strong)
                      AssignmentPath: (3)
                        AssignmentPathSegment(1:C: user:null(asuskandovec) -> role:04629176-c200-4583-acae-68b4fd93f44c(Medusa1))
                        AssignmentPathSegment(2: role:04629176-c200-4583-acae-68b4fd93f44c(Medusa1) -> role:11111111-2222-3333-4444-200000000001(Metarole for groups))
                        AssignmentPathSegment(2:C: role:11111111-2222-3333-4444-200000000001(Metarole for groups) Constr 'null' )
                minus: null
      

      After:

      Account constructionDeltaSetTriple: null
      

      Solution: either not clean constructionDeltaSetTriple up, or recompute it after iteration.

        Attachments

          Activity

            People

            Assignee:
            vix Ivan Noris
            Reporter:
            mederly Pavol Mederly
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: