[midPoint] [EXTERNAL SENDER] Re: Function of midpoint.isUniqueProperty
King, Robert
robk at mun.ca
Wed Sep 9 18:46:20 CEST 2026
And as soon as I hit send, it occurs to me, create a stub user to check the namespace.
def userStub = new UserType()
nameServiceUnique = midpoint.isUniquePropertyValue(focus, 'name', name.toString())
emailServiceUnique = midpoint.isUniquePropertyValue(focus, 'extension/mail', name.toString())
nameUserUnique = midpoint.isUniquePropertyValue(userStub, 'name', name.toString())
emailUserUnique = midpoint.isUniquePropertyValue(userStub, 'extension/mail', name.toString())
Just in case someone else runs into this in the future.
________________________________
From: midPoint <midpoint-bounces at lists.evolveum.com> on behalf of King, Robert via midPoint <midpoint at lists.evolveum.com>
Sent: Wednesday, September 09, 2026 14:06
To: midpoint at lists.evolveum.com <midpoint at lists.evolveum.com>
Cc: King, Robert <robk at mun.ca>; Pavol Mederly <mederly at evolveum.com>
Subject: Re: [midPoint] [EXTERNAL SENDER] Re: Function of midpoint.isUniqueProperty
If we wanted to detect and avoid such collisions, would it just be a matter of checking on each class type?
nameServiceUnique = midpoint.isUniquePropertyValue(ServiceType, 'name', name.toString())
emailServiceUnique = midpoint.isUniquePropertyValue(ServiceType, 'extension/mail', name.toString())
nameUserUnique = midpoint.isUniquePropertyValue(UserType, 'name', name.toString())
emailUserUnique = midpoint.isUniquePropertyValue(UserType, 'extension/mail', name.toString())
________________________________
From: midPoint <midpoint-bounces at lists.evolveum.com> on behalf of Pavol Mederly via midPoint <midpoint at lists.evolveum.com>
Sent: Tuesday, September 8, 2026 17:58
To: midpoint at lists.evolveum.com <midpoint at lists.evolveum.com>
Cc: Pavol Mederly <mederly at evolveum.com>
Subject: [EXTERNAL SENDER] Re: [midPoint] Function of midpoint.isUniqueProperty
Hello,
the current implementation limits the search for conflicts to the type of the object provided (e.g., UserType).
So your ServiceType object would not collide with provided UserType.
Source code: https://github.com/Evolveum/midpoint/blob/9ca2a442a11dc7c8ae35fd908a5347d05ecb4e33/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java#L844-L844
Best regards,
--
Pavol Mederly
Interim Chief Product Officer
evolveum.com
On 08/09/2026 21:09, King, Robert via midPoint wrote:
Following the unique property guide
https://docs.evolveum.com/midpoint/reference/support-4.10/concepts/iteration/unique-property-value/
And I have a functionality question. Is the isUniqueProperty function limited by object type? By that I mean would a service with extension/mail collide with a user with extension/mail?
_______________________________________________
midPoint mailing list
midPoint at lists.evolveum.com<mailto:midPoint at lists.evolveum.com>
https://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20260909/e2992d98/attachment.htm>
More information about the midPoint
mailing list