[midPoint] Correlation query problem
Pavol Mederly
mederly at evolveum.com
Mon Mar 13 13:26:27 CET 2017
Hello Brad,
normIgnoreCase is OK, because givenName and lastName are so called
polystrings (polymorphic strings; they have original and normalized
value). And these are to be compared using polyStringNorm,
polyStringOrig, polyStringStrict, normIgnoreCase, origIgnoreCase, and
strictIgnoreCase rules. (Just BTW, polyStringNorm comparison is already
case-insensitive, so I'd suggest using it instead of normIgnoreCase. The
latter is a bit of "hack". But nevertheless, it should work.)
Your query look right to me.
I would suggest you to enable logging: TRACE for
com.evolveum.midpoint.model.impl.sync.CorrelationConfirmationEvaluator.
And then have a look for entry containing:
SYNCHRONIZATION: CORRELATION: expression for results in filter
If needed, you could post it here, we'll try to help you with that.
Best regards,
Pavol Mederly
Software developer
evolveum.com
On 13.03.2017 12:21, Brad Fardig wrote:
>
> Having some issues with a correlation query on a csv resource with
> midpoint 3.4
>
> The issue is I’m not getting any linking with existing user records
> i.e. all records read from the CSV file are unmatched.
>
> I need to do case insensitive string matching. I’ve tried
> stringIgnoreCase but receive an error. I’ve also set the
> |http://prism.evolveum.com/xml/ns/public/matching-rule-3| namespace as
> mr but receive an error for mr:stringIgnoreCase as well
>
> I’ve tried various selection from the known matching rules here:
> https://wiki.evolveum.com/display/midPoint/Matching+Rules
>
> If anybody can provide any insight into what I’m not seeing/doing it
> will be greatly appreciated.
>
> The query is:
>
> <correlation>
>
> <q:description>
>
> match on givenName == FirstName , familyName == LastName , DoB == _dob_
>
> </q:description>
>
> <q:and>
>
> <q:equal>
>
> <q:matching>|normIgnoreCase|</q:matching>
>
> <q:path>familyName</q:path>
>
> <c:expression>
>
> <c:path>$c:account/c:attributes/ri:LastName</c:path>
>
> </c:expression>
>
> </q:equal>
>
> <q:equal>
>
> <q:matching>|normIgnoreCase|</q:matching>
>
> <q:path>givenName</q:path>
>
> <c:expression>
>
> <c:path>$c:account/c:attributes/ri:FirstName</c:path>
>
> </c:expression>
>
> </q:equal>
>
> <q:equal>
>
> <q:path>extension/_dob_</q:path>
>
> <c:expression>
>
> <script>
>
> <language>http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</language>
>
> <code>
>
> DoB = basic.getAttributeValue(shadow,
> 'http://midpoint.evolveum.com/xml/ns/public/resource/instance-3', 'DoB')
>
> (d,m,y) = DoB?._tokenize_('/')
>
> _db_ = y + '-' + m + '-' + d
>
> log.error('The date of birth is {}', _db_)
>
> return _db_
>
> </code>
>
> </script>
>
> </c:expression>
>
> </q:equal>
>
> </q:and>
>
> </correlation>
>
> Regards
>
> Brad
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20170313/a3ecd1d2/attachment.htm>
More information about the midPoint
mailing list