[midPoint-git] [Evolveum/midpoint] a67942: Set old object on initial focus load operation

mederly noreply at github.com
Tue May 17 12:48:06 CEST 2022


  Branch: refs/heads/support-4.4
  Home:   https://github.com/Evolveum/midpoint
  Commit: a67942277e9d04978fc856a4ed292edc85e8b3e3
      https://github.com/Evolveum/midpoint/commit/a67942277e9d04978fc856a4ed292edc85e8b3e3
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2022-05-17 (Tue, 17 May 2022)

  Changed paths:
    M model/model-common/src/main/java/com/evolveum/midpoint/model/common/mapping/MappingParser.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ClockworkClick.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ElementState.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensFocusContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/FocusLoadOperation.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/AbstractModelImplementationIntegrationTest.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestProjector.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/mapping/TestMappingInbound.java
    A model/model-intest/src/test/resources/mapping/resource-target-photos.xml
    M model/model-intest/src/test/resources/mapping/task-dumy-tea-green-livesync.xml
    A model/model-intest/src/test/resources/mapping/task-import-target-photos.xml
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/util/RUtil.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/DummyAccountAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/DummyObjectAsserter.java

  Log Message:
  -----------
  Set old object on initial focus load operation

When starting a clockwork, initial focus load operation is executed.
Previously, we have updated only current & new state of the focus,
leaving old state as it came from the external caller. However, the
focus is often incomplete (e.g. without jpegPhoto) at that time.

Now we overwrite also the old state - but only on the first loading.

Related changes:

- A safety check was added: If a mapping is to be executed on an
incomplete item, an exception is thrown. It is better to see the issue
immediately than to incur data quality problems detected potentially
much later.

- TestMappingInbound was "face-lifted" to match the `master` version.

Unrelated change:

- When serializing operation result (for task) we employ less strict
mode, allowing unserializable values to be stored as strings, and also
escaping invalid XML characters. This can be useful e.g. when tracing
is enabled, and is consistent with the new (native) repo behavior.

This resolves MID-7916.

(adapted from b8db94d81cc8fcc64fe48166cc88622f57188ad0)




More information about the midPoint-svn mailing list