Prepopulate adapters are used to populate the fields on a resource or Process form in Oracle Identity Manager. By having the resource form fields populated by prepopulate adapters, the provisioning process of a resource account to a user can be handled with ease rather than having someone manually enter values for the resource form fields. In Oracle Identity Manager, prepopulate adapters are triggered on the initial assignment of the resource account to a user.
1. Postal Address
2. Postal Code
3. Street
4. State
to populate the field Street in Process Form.
package com.prepopulate.custom;
import java.util.logging.Logger;
public class fieldPrePopulate{
private static final Logger logger = Logger.getLogger("com.prepopulate.custom");
String Space = " ";
public static String StreetAddressGenerator(String PostalAddress, String Street, String PostalCode, String State){
String StreetAddress = PostalAddress.concat(Space.concat(PostalCode.concat(Space.concat(Street.concat(State)))));
logger.info("Concatenatedd Street Address: "+StreetAddress);
return StreetAddress;
}
}
Similarly you can write your own code to populate certain field on Process Form as per your requirement.
After writing Java methods for your prepopulate adapters, you have to create a JAR file of your Java code, and upload it to OIM as a JavaTasks JAR type (Place the JAR file in $MW_HOME/Oracle_IDM1/server/JavaTasks directory or upload to OIM database using UploadJars.sh script located in $MW_HOME/Oracle_IDM1/server/bin directory. The latter approach is recommended in a production environment).
1. Log in to design console. Design console can be started by executing $MW_HOME/Oracle_IDM1/designconsole/xlclient.sh script.
2. On the left panel, expand Development Tools, and select Adapter Factory.
3. Specify Adapter Name, Adapter Type, Description. Then save.
4. On the Variable List sub-tab, add the variables for your adapter as shown in the below screenshots. Typically, these variables are the input to your Java method.
Custom Java Code for PrePopulate Adapters
In the below code we consider and example where we want to Concatenate below 4 fields from User Profile:1. Postal Address
2. Postal Code
3. Street
4. State
to populate the field Street in Process Form.
package com.prepopulate.custom;
import java.util.logging.Logger;
public class fieldPrePopulate{
private static final Logger logger = Logger.getLogger("com.prepopulate.custom");
String Space = " ";
public static String StreetAddressGenerator(String PostalAddress, String Street, String PostalCode, String State){
String StreetAddress = PostalAddress.concat(Space.concat(PostalCode.concat(Space.concat(Street.concat(State)))));
logger.info("Concatenatedd Street Address: "+StreetAddress);
return StreetAddress;
}
}
Similarly you can write your own code to populate certain field on Process Form as per your requirement.
After writing Java methods for your prepopulate adapters, you have to create a JAR file of your Java code, and upload it to OIM as a JavaTasks JAR type (Place the JAR file in $MW_HOME/Oracle_IDM1/server/JavaTasks directory or upload to OIM database using UploadJars.sh script located in $MW_HOME/Oracle_IDM1/server/bin directory. The latter approach is recommended in a production environment).
Creating Adapter
2. On the left panel, expand Development Tools, and select Adapter Factory.
3. Specify Adapter Name, Adapter Type, Description. Then save.
4. On the Variable List sub-tab, add the variables for your adapter as shown in the below screenshots. Typically, these variables are the input to your Java method.
Click Add
5. On the Adapter Tasks sub-tab, create a task that calls your Java method.
Click Add
Click Continue
Provide the details like Task Name, API Source and Methods as per screenshot
Map the Input Parameters to the variables created in Variables tab above
Map Output Parameter to Return Variable as shown in Screenshot and then click Save and close the pop-up
Java Task attached to adapter
6. Click Build to compile the adapter. Then save.
Attaching PrePopulate Adapter to Form Field
1. On the left panel of design console, expand Development Tools, and select Form Designer.
2. Select your process form that you will attach the prepopulate adapter to, and create a new version.
Ensure "Latest Version" and "Current Version" are using the version you created.
3. On the Pre-Populate sub-tab, attach your prepopulate adapter to a form field.
Click on Add to Add the PrePopulate Adapter by selecting the Adapter from the list
Map the fields in Adapter to User Definition Fields as shown in screenshot
4. Make version active.
Validate PrePopulate Adapter
Assign resource account to a user. After submitting the resource process form instance, the prepopulate adapters should kick in and populate the form fields.