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

Multivalued attribute with inbound+outbound does not work

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.4 (Heisenberg), 3.4.1
    • 3.9
    • None

    Description

      Steps to reproduce:

      1. Import OpenDJ resource definition and Janko Hrasko user from the attached files. Recompute Janko Hrasko in order to create his account on OpenDJ.
      2. The resource has the following definition:
                                          <attribute>		<!--  MID-3395 -->
        					<ref>ri:employeeType</ref>
        					<displayName>Employee Type</displayName>
        					<tolerant>false</tolerant>
        					<outbound>
        						<source>
        							<path>$user/employeeType</path>
        						</source>
        					</outbound>
        					<inbound>
        						<target>
        							<path>$user/employeeType</path>
        						</target>
        					</inbound>
        				</attribute>
        
      3. Now open the user and ADD a new employeeType of "type2". Save.
      4. After execution it looks like this:
        • Account has employeeType of type1 and type2 (OK)
        • User has employeeType of type2 (wrong)

      Analysis:

      1. Wave 0 went OK (resulting in user delta: add type2 to employeeType, shadow delta: add type2 to employeeType)
      2. In wave 1, inbound processing, there is:
        2016-09-13 06:54:13,205 [] [http-apr-8080-exec-5] TRACE (com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor): Processing inbound for {.../resource/instance-3}employeeType in Discr(RSD(account (default) @ef2bc95b-76e0-48e2-86d6-3d4f02d3e1a2)); (1 mappings)
        2016-09-13 06:54:13,205 [] [http-apr-8080-exec-5] TRACE (com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor): Processing inbound from a priori delta: ObjectDelta(ShadowType:9e7eac3d-9dd4-4fa8-a30a-de89562ab843,MODIFY: PropertyDelta(attributes / {.../resource/instance-3}employeeType, ADD), PropertyDelta(metadata / {.../common/common-3}modifyChannel, REPLACE), PropertyDelta(metadata / {.../common/common-3}modifyTimestamp, REPLACE), ReferenceDelta(metadata / {.../common/common-3}modifierRef, REPLACE))
        2016-09-13 06:54:13,205 [] [http-apr-8080-exec-5] TRACE (com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor): Inbound mapping for {http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}employeeType returned triple:
        DeltaSetTriple:
          zero:
          plus:
            type2
          minus:
        2016-09-13 06:54:13,205 [] [http-apr-8080-exec-5] TRACE (com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor): Comparing focus item:
          employeeType: [ type1, type2 ]
        to should be item:
          employeeType: [ type2 ]
        diff:
          employeeType
            DELETE: type1 
        2016-09-13 06:54:13,205 [] [http-apr-8080-exec-5] TRACE (com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor): Created delta (from inbound expression for {http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}employeeType on resource:ef2bc95b-76e0-48e2-86d6-3d4f02d3e1a2(Localhost OpenDJ (no extension schema)))
          employeeType
            DELETE: type1
        

      Attachments

        Issue Links

          Activity

            People

              mederly Pavol Mederly
              mederly Pavol Mederly
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: