User State and Status in Post Process Event Handler In Reconciliation - Bulkorchestration in 11g (Doc ID 1322974.1)

Last updated on JANUARY 13, 2016

Applies to:

Identity Manager - Version 11.1.1.3.0 and later
Information in this document applies to any platform.
**Checked for Relevance on 25-Jul-2014**

Goal

In case of updating a user from the console directly, in the Event Handlers one can implement the method

public EventResult execute(long l1, long l2, Orchestration orchestration)

This will get the CURRENT_USER_STATE and NEW_USER_STATE. For example, the user old attributes and the new changed attributes from the Orchestration class as :

hm = orchestration.getInterEventData();

oracle.iam.identity.usermgmt.vo.User oldUsr = (oracle.iam.identity.usermgmt.vo.User) hm.get(CURRENT_USER);

oracle.iam.identity.usermgmt.vo.User newUsr = (oracle.iam.identity.usermgmt.vo.User) hm.get(NEW_USER_STATE);


But in case of reconciliation from the database,one may want to implement the method

public BulkEventResult execute(long arg0, long arg1, BulkOrchestration bulkOrchestration)

and try

oracle.iam.identity.vo.Identity newUseridentity =(oracle.iam.identity.vo.Identity)userDataMap.get("NEW_USER_STATE");
oracle.iam.identity.usermgmt.vo.User oldUsr = (oracle.iam.identity.usermgmt.vo.User) hm.get(CURRENT_USER);


but will receive an ClassCast Exception error.

How to get CURRENT_USER_STATE and NEW_USER_STATE without an ClassCastException error?

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms