OIM API To Search Accounts/Entitlements based on Input Value

package com.massiveGaze.provision;

import java.util.HashMap;
import java.util.Set;

import oracle.iam.platform.entitymgr.vo.SearchCriteria;
import oracle.iam.provisioning.api.ProvisioningConstants;
import oracle.iam.provisioning.api.ProvisioningServiceInternal;
import oracle.iam.provisioning.impl.ProvisioningServiceInternalImpl;

import com.massiveGaze.connection.Platform;

public class SearchAccounts {
 private static ProvisioningServiceInternal provisioningServiceInt=Platform.getService(ProvisioningServiceInternal.class);
 public static void main(String[] args) {
  HashMap<String, String> controls = new HashMap<String, String>();
  SearchCriteria crit1 = new SearchCriteria(
    ProvisioningConstants.AccountSearchAttribute.APPINST_NAME
      .getId(),
    "ABC",
    SearchCriteria.Operator.EQUAL);
  
  SearchCriteria crit2 = new SearchCriteria(
    ProvisioningConstants.EntitlementInstanceSearchAttribute.ENTITLEMENT_ID
      .getId(), "XYZ",
    SearchCriteria.Operator.EQUAL);
  
  SearchCriteria sc1 = new SearchCriteria(crit1, crit2,
    SearchCriteria.Operator.OR);
  SearchCriteria crit3 = new SearchCriteria(
    ProvisioningConstants.AccountSearchAttribute.APPINST_ID.getId(),
    "",
    SearchCriteria.Operator.EQUAL);
  SearchCriteria crit4 = new SearchCriteria(
    ProvisioningConstants.EntitlementInstanceSearchAttribute.ENTITLEMENT_CODE
      .getId(), "",
    SearchCriteria.Operator.EQUAL);
  
  SearchCriteria sc2 = new SearchCriteria(crit3, crit4,
    SearchCriteria.Operator.OR);
  
  SearchCriteria sc3 = new SearchCriteria(sc1, sc2,
    SearchCriteria.Operator.AND);
  
  controls = new HashMap<String, String>();
  controls.put("Auditable", "false");
  
  Set<String> uniqueUsersBasedOnSearchCriteria = provisioningServiceInt
    .getUniqueUsersBasedOnSearchCriteria(sc3, controls);
  
  SearchCriteria sc4 = new SearchCriteria(
    ProvisioningConstants.AccountSearchAttribute.USER_ID.getId(),
    uniqueUsersBasedOnSearchCriteria, SearchCriteria.Operator.IN);
  
  
  SearchCriteria sc5 = new SearchCriteria(sc3, sc4,
    SearchCriteria.Operator.AND);
  controls = new HashMap<String, String>();
  controls.put("Auditable", "true");
  provisioningServiceInt.searchAccounts(crit1, controls);
 }

}

No comments:

Post a Comment

About OIM

Oracle Identity Management enables organizations to effectively manage the end - to - end life - cycle of user ide...

Popular Posts