[midPoint-git] [Evolveum/midpoint] aa156c: Smart Integration: Refactor well-known schema mapp...
Michal Zelenčík
noreply at github.com
Tue Jan 27 15:57:30 CET 2026
Branch: refs/heads/master
Home: https://github.com/Evolveum/midpoint
Commit: aa156c5d9956d2d1acbdafe6a0a681153d5d00f4
https://github.com/Evolveum/midpoint/commit/aa156c5d9956d2d1acbdafe6a0a681153d5d00f4
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-19 (Mon, 19 Jan 2026)
Changed paths:
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/SystemMappingSuggestion.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/WellKnownSchemaProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ad/UserActiveDirectoryMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ldap/InetOrgPersonLdapMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/scim/UserScimMappingProvider.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/DummyScenario.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestMappingsSuggestionOperation.java
Log Message:
-----------
Smart Integration: Refactor well-known schema mappings for quality assessment
- Refactored SystemMappingSuggestion to hold raw mapping data (paths, expression)
instead of complete AttributeMappingsSuggestionType structure
- Updated WellKnownSchemaProvider interface to return SystemMappingSuggestion objects
- Centralized mapping construction in MappingsSuggestionOperation.buildAttributeMappingSuggestion
- This enables quality assessment for system-provided mappings using the same
logic as AI-suggested mappings
Bug Fix:
- Fixed shadow attribute paths to include ShadowType.F_ATTRIBUTES prefix
(e.g., "attributes/cn" instead of "cn") so ValuesPairSample can correctly
extract shadow values for quality assessment
Implementation Updates:
- Updated all WellKnownSchemaProvider implementations (LDAP, AD, SCIM) to use
simplified createSystemMappingSuggestion helper method
- Removed deprecated createInboundMapping/createOutboundMapping helper methods
- MappingsSuggestionOperation.addSystemMappings now assesses quality for each
system mapping using the same flow as AI mappings
Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>
Commit: b907576a11212dfdfac5aec89a8b9f35486209ec
https://github.com/Evolveum/midpoint/commit/b907576a11212dfdfac5aec89a8b9f35486209ec
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-20 (Tue, 20 Jan 2026)
Changed paths:
M infra/schema/src/main/resources/xml/ns/public/common/common-smart-integration-3.xsd
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchService.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchingOperation.java
Log Message:
-----------
Smart Integration: Mark well-known schema mappings as system-provided
Add isSystemProvided boolean field to schema match types to distinguish
mappings from well-known schema detection from AI-generated mappings.
- Add isSystemProvided field to SiAttributeMatchSuggestionType and
SchemaMatchOneResultType in XSD schema
- Set isSystemProvided=true in SchemaMatchingOperation when matches come
from well-known schema providers
- Use flag in MappingsSuggestionOperation to mark final mappings:
* System-provided if from well-known schema and no AI involvement
* AI-provided if LLM was used for mapping generation
Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>
Commit: 8ab57f1bb68415b0bf670eb5001edfa8ed5066ca
https://github.com/Evolveum/midpoint/commit/8ab57f1bb68415b0bf670eb5001edfa8ed5066ca
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-20 (Tue, 20 Jan 2026)
Changed paths:
M docs/security/authorization/admin-gui.adoc
M docs/security/authorization/model.adoc
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/action/AbstractCertItemDecisionAction.java
M model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/AccCertCaseOperationsHelper.java
M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/activity/SaveReportFileSupport.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchingOperation.java
Log Message:
-----------
Merge branch 'master' into feature/system-mappings
# Conflicts:
# model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchingOperation.java
# model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/WellKnownSchemaProvider.java
Commit: 8ad3a1308e2b38b1d4027d258d0785311152442f
https://github.com/Evolveum/midpoint/commit/8ad3a1308e2b38b1d4027d258d0785311152442f
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-21 (Wed, 21 Jan 2026)
Changed paths:
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchService.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchingOperation.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/SystemMappingSuggestion.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/WellKnownSchemaProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ad/UserActiveDirectoryMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ldap/InetOrgPersonLdapMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/scim/UserScimMappingProvider.java
Log Message:
-----------
Smart Integration: Refactor system mapping suggestion creation and processing
- Move factory methods from WellKnownSchemaProvider to SystemMappingSuggestion record
- Add createAsIsSuggestion() for simple mappings without scripts
- Add createScriptSuggestion() for script-based mappings
- Remove old createSystemMappingSuggestion() static method
- Refactor MappingsSuggestionOperation.addSystemMappings()
- Rename to collectSystemMappings() and return List instead of void
- Extract single mapping processing into assessAndBuildSystemMapping()
- Remove isSystemProvided parameter from suggestMapping() (derive from matchPair)
Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>
Commit: d9fad352e88142597e1cf3fcf22f01489bee5d28
https://github.com/Evolveum/midpoint/commit/d9fad352e88142597e1cf3fcf22f01489bee5d28
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-21 (Wed, 21 Jan 2026)
Changed paths:
A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/AttributeMappingCandidate.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
Log Message:
-----------
Smart Integration: Introduce deduplication of mapping suggestions
Add AttributeMappingCandidate wrapper to enable duplicate detection and
quality-based selection. When duplicate mappings are found (same shadow
attribute and focus property), keep the one with higher quality. If
quality is equal, prefer system-provided over AI-generated mappings.
This prevents duplicate mapping suggestions in the final output while
ensuring the best quality mapping is retained.
Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>
Commit: 4cb306d15d5ef32c2a4ed482f72e7813814dbb99
https://github.com/Evolveum/midpoint/commit/4cb306d15d5ef32c2a4ed482f72e7813814dbb99
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/AttributeMappingCandidate.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/DummyScenario.java
A model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestSystemMappingsSuggestion.java
A model/smart-impl/src/test/resources/smart/mappings-suggestion/resource-ldap-for-mappings-suggestion.xml
Log Message:
-----------
Smart Integration: Fix duplicate detection for mapping suggestions
Introduce AttributeMappingCandidate to handle duplicate mapping detection
based on target path. When multiple mappings target the same property:
- Higher quality mapping wins
- System-provided mappings are preferred over AI when quality is equal
Add tests for system mapping suggestions covering:
- System mappings from well-known schema detection
- Duplicate detection keeping higher quality mappings
- System-provided preference when quality is equal
Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>
Commit: 3d8056a1f7ec08ae76c74484fab5d8e6f845a018
https://github.com/Evolveum/midpoint/commit/3d8056a1f7ec08ae76c74484fab5d8e6f845a018
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
R model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/AttributeMappingCandidate.java
A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/AttributeMappingCandidateSet.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestMappingsSuggestionOperation.java
Log Message:
-----------
Smart Integration: Rename AttributeMappingCandidate to AttributeMappingCandidateSet
- Renamed class to better reflect that it manages a set of candidates
- Changed propose() to throw IllegalArgumentException on null target path
instead of silently accepting it
Commit: d57239cda3dce227a305e9c28be72e705c0f19d2
https://github.com/Evolveum/midpoint/commit/d57239cda3dce227a305e9c28be72e705c0f19d2
Author: Michal Zelencik <michal.zelencik at evolveum.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M infra/schema/src/main/resources/xml/ns/public/common/common-smart-integration-3.xsd
A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/AttributeMappingCandidateSet.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchService.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/SchemaMatchingOperation.java
A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/SystemMappingSuggestion.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/WellKnownSchemaProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ad/UserActiveDirectoryMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/ldap/InetOrgPersonLdapMappingProvider.java
M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/wellknownschemas/scim/UserScimMappingProvider.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/DummyScenario.java
M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestMappingsSuggestionOperation.java
A model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestSystemMappingsSuggestion.java
A model/smart-impl/src/test/resources/smart/mappings-suggestion/resource-ldap-for-mappings-suggestion.xml
Log Message:
-----------
Merge branch 'feature/system-mappings-fix'
Compare: https://github.com/Evolveum/midpoint/compare/1df375d06a4b...d57239cda3dc
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