In the case of userName is NULL, the #findUser method will throws an exception AND inside the #handleException it will indirectly perform the rollback of IDM transaction (via #recoverFromIDMError) ==> losing changes from (1)
There are two points that I really confuses in this scenario:
1. Does the PicketLinkIDMOrganizationServiceImpl.flush() perform saving the pending changes ? If NOT, I think there is a bug in IDM integration.
2. Should the rollback of IDM transaction be performed when any exception occurred in the #findUser method ?
Could someone who has more expertise in IDM take a look and give any feedback/idea to help for handling this properly ?
Thanks
--
Tran The Trong
eXo Platform SEA