[midPoint-git] [Evolveum/midpoint] b361fa: Parse activity queries using correct definitions
Andrej
noreply at github.com
Wed Nov 26 15:41:34 CET 2025
Branch: refs/heads/midpilot
Home: https://github.com/Evolveum/midpoint
Commit: b361fa06f9c65b187a5a04158e1e902cbe26f1bb
https://github.com/Evolveum/midpoint/commit/b361fa06f9c65b187a5a04158e1e902cbe26f1bb
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaRegistry.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ValueBasedDefinitionLookupsImpl.java
M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/SyncTaskHelper.java
Log Message:
-----------
Parse activity queries using correct definitions
Now we use correct resource object definitions when parsing queries
in resource-related activities (like import or correlation simulation).
The schemaContext annotation was created as well.
**Implements:** MID-10965
Commit: 676fdd5607638d062d11343540926c68261d8bdc
https://github.com/Evolveum/midpoint/commit/676fdd5607638d062d11343540926c68261d8bdc
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityHandler.java
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityRun.java
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationWorkDefinition.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/handlers/ActivityHandlerRegistry.java
M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/AbstractActivityRun.java
Log Message:
-----------
Add skeleton for new correlation simulation activity
**What**
Implement basic skeleton for the correlation simulation activity. It
will be used to simulate correlation with given correlator(s) on
specified set of shadows.
**Why**
It will be used to quickly simulate correlators suggested by AI.
**Notes**
This activity supports only simulation (preview) mode.
**Implements:** MID-10965
Commit: 9164d906ab4edef92c88ad763b7c5a76e9f5841d
https://github.com/Evolveum/midpoint/commit/9164d906ab4edef92c88ad763b7c5a76e9f5841d
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionProvider.java
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/ResourceCorrelationDefinitionProvider.java
A model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/correlator/tasks/ResourceCorrelationDefinitionProviderTest.java
A model/model-impl/src/test/resources/correlator/correlation/merge/resource-dummy-correlation-in-attribute.xml
A model/model-impl/src/test/resources/correlator/correlation/merge/resource-dummy-correlation-in-schema-handling.xml
A model/model-impl/src/test/resources/correlator/correlation/merge/resource-dummy-correlation-in-synchronization.xml
M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
Log Message:
-----------
Add resource based provider of correlation definition
**What**
Implement the provider of a correlation definition which reads the
definition from the resource.
**Why**
For "fast" simulation of correlations, we want to add an option for
including also existing correlation definition into the simulation. For
that purpose we need to read the correlation definition from the
resource. The work definition of the correlation simulation activity may
also contain correlation definition (in fact that is the main point of
implementing the activity).
That, however, means we have at least two sources of correlation
definitions for the activity. How those sources are accessed and
processed can differ significantly. For example when we read correlation
definition from the resource, we need to "merge" correlations, which are
possibly defined by different structures on different places of the
resource.
Because of that this change introduce the "provider" abstraction which
allows to encapsulate logic specific to particular source of
correlations.
**Notes**
As mentioned above, the correlation in resource can be defined in more
ways. Some of them are legacy, but we still support them. The provider
of the correlation implements a logic which collects all those
structures and merges them to single correlation definition. To do that
it relies on `CorrelatorsDefinitionUtils`, which provides necessary
functionality.
**Implements:** MID-10965
Commit: 7fe7057a7173fe6854ce4cbb0e2b693e9bf187f1
https://github.com/Evolveum/midpoint/commit/7fe7057a7173fe6854ce4cbb0e2b693e9bf187f1
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/CorrelatorsDefinitionUtil.java
A model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionUtilTest.java
Log Message:
-----------
Implement merge of correlation definitions
**What**
Implement new utility method for merge of two correlation definitions.
**Why**
In the use case of correlation simulation we need to have ability to
merge correlation definitions from multiple sources. Resulting merged
correlation definition will be then used in simulation.
**Notes**
The only custom merging other than what is implemented by the
`BaseMergeOperation` class is that thresholds are preferred from the
target definition. That means, if both target and source has a
thresholds, only the one from target is used in resulting definition.
**Implements:** MID-10965
Commit: fed35573a49fea82fa86486a85faad8f83bac5b6
https://github.com/Evolveum/midpoint/commit/fed35573a49fea82fa86486a85faad8f83bac5b6
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionProvider.java
A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionProviderFactory.java
A model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionProviderFactoryTest.java
Log Message:
-----------
Implement union of correlation definition providers
**What**
Implement functionality to unite two providers of correlation
definition.
**Why**
In correlation simulation use case, the user can specify two sources of
correlation definition. One source is existing definition in a resource
and second source is inline definition in the work definition itself.
These sources are handled by correlation definition providers.
For the simulation, we need to merge definitions from all sources and
use the resulting definition.
To simplify that we can now "unite" the providers themself what creates
new instance of a provider which does the merging.
**Notes**
Currently the definition from provider reading definitions in resource
is used as a "target" for the merge operation. That has a consequence
mainly for the possibly present thresholds. If thresholds are in both
target and source (in this case inline definition in work def), only the
target threshold will be present in the result.
**Implements:** MID-10965
Commit: 64222c959cafa64735855850446a7fe17b0cdd3e
https://github.com/Evolveum/midpoint/commit/64222c959cafa64735855850446a7fe17b0cdd3e
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityRun.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationWorkDefinition.java
Log Message:
-----------
Wire correlation definition providers to work definition
**What**
Wire the providers of correlation definition into the work definition
itself.
**Why**
The informations needed by providers, or even by providers factory, are
present in the work definition itself.
Instead of providing getters to internal work definition state and using
that to construct correlation definition outside, I added method which
can provide correlation definition to the work definition itself. This
way we preserve proper encapsulation of internal state.
**Implements:** MID-10965
Commit: 132ff678b69a8e50a4b7a05ade86a6b420dcfd92
https://github.com/Evolveum/midpoint/commit/132ff678b69a8e50a4b7a05ade86a6b420dcfd92
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M model/model-api/src/main/java/com/evolveum/midpoint/model/api/correlation/CorrelationService.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlation/CorrelationServiceImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityRun.java
A model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationServiceTest.java
A model/model-impl/src/test/resources/correlator/correlation/task/account.csv
A model/model-impl/src/test/resources/correlator/correlation/task/dummy-resource.xml
A model/model-impl/src/test/resources/correlator/correlation/task/item-correlator.xml
A model/model-impl/src/test/resources/correlator/correlation/task/users.xml
Log Message:
-----------
Implement correlation with specified correlation definition
**What**
Implement new method to the correlation service, which correlate given
shadow with given correlation definition.
**Why**
In the correlation simulation use case we need to simulate given
correlation definition on specified set of shadows. The correlation
definition to use does not have to be stored in the resource, but can
also be specified explicitly.
**Implements:** MID-10965
Commit: 5b79a25691aa765ad4652d23d46c84825f3b4ff8
https://github.com/Evolveum/midpoint/commit/5b79a25691aa765ad4652d23d46c84825f3b4ff8
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/work/WorkDefinitionUtil.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityHandler.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationActivityRun.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/correlator/tasks/CorrelationDefinitionProviderFactory.java
Log Message:
-----------
Store results of correlation simulation activity
**What**
Creates the final results structure of correlation simulation and store
it in the simulation transaction.
**Notes**
There is also a small fix of missing correlation work definition in the
`WorkDefinitionUtil` class.
**Implements:** MID-10965
Commit: aa9630ec96a0a0fae6dfc801563ae60031cc302d
https://github.com/Evolveum/midpoint/commit/aa9630ec96a0a0fae6dfc801563ae60031cc302d
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
A config/initial-objects/mark/mark-shadow-correlation-owner-found.xml
A config/initial-objects/mark/mark-shadow-correlation-owner-not-certain.xml
A config/initial-objects/mark/mark-shadow-correlation-owner-not-found.xml
M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/simulation/ProcessedObjectImpl.java
M release-notes.adoc
Log Message:
-----------
Add new correlation related event marks
**What**
Add new event marks for:
- Correlation has found owner of shadow.
- Correlation has not found owner of shadow.
- Correlation has not found owner of shadow with certainty.
**Why**
These event marks will be used to display useful statistics of
correlators simulation.
**Implements:** MID-10965
Commit: 950435719ef6ca2a9a61ebde48d12f14e4dde785
https://github.com/Evolveum/midpoint/commit/950435719ef6ca2a9a61ebde48d12f14e4dde785
Author: Andrej Zan <andrej.zan at evolveum.com>
Date: 2025-11-26 (Wed, 26 Nov 2025)
Changed paths:
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/AbstractResourceObjectPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/ResourceContentPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/ResourceTaskCreator.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/ResourceTasksPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/wizard/schemaHandling/objectType/correlation/CorrelationItemsTableWizardPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/simulation/component/SimulationActionTaskButton.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/ResourceContentPanel.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/ResourceTaskFlavor.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/ResourceTaskFlavors.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/resources/SynchronizationTaskFlavor.java
Log Message:
-----------
Integrate Correlation Activity to UI layer
**What**
Add code necessary for integration of Correlation Activity to the UI
layer.
**Why**
We want to trigger Correlation Activity task from the UI page which
shows correlations.
**Notes**
To add new activity task, I have modified the `ResourceTaskCreator` to
allow customization of the work definition. It now also allows to define
the query, which should be used to filter the resource objects.
I have also created the `ResourceTaskFlavors` class, which covers
activities (tasks) run on resource objects. It also includes the
"flavors" present in the `SynchronizationTaskFlavor` enum.
This new class also allows to find flavors by its archetype ID, what
simplifies the `ResourceTaskCreator`.
The intent is
to use the `ResourceTaskFlavors`, with the flavors defined as constants,
instead of the `SynchronizationTaskFlavor` enum from now on.
Compare: https://github.com/Evolveum/midpoint/compare/a795f109103c...950435719ef6
To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/midpoint/settings/notifications
More information about the midPoint-svn
mailing list