Email creation in provisioning

Hi @nitindpraj,

Try with this code

 import sailpoint.object.Filter;
  import sailpoint.object.Identity;
  import sailpoint.tools.GeneralException;
  import sailpoint.object.QueryOptions;
  import sailpoint.tools.Util;

  boolean checkUniquemail(String uniqueEmail) {
    QueryOptions queryOption = new QueryOptions();
    queryOption.addFilter(Filter.eq("email",uniqueEmail));
    Iterator identityIterator = context.search(Identity.class, queryOption);
    while ( identityIterator.hasNext() ) {
      return false;
    }
    return true;
  }

  String uniqueEmail="";
  int increment=0;
  String domain="@test.com";
  String firstName="";
  String lastName="";

  firstName = identity.getAttribute("firstname");
  lastName = identity.getAttribute("lastname");


  if (Util.isNotNullOrEmpty(lastName)) {
    lastName= lastName.replaceAll("[[.]+]", "");
  }

  if (Util.isNotNullOrEmpty(firstName) && Util.isNotNullOrEmpty(lastName)) {
    uniqueEmail = firstName + lastName + domain;
  } else if (Util.isNotNullOrEmpty(firstName)) {
    uniqueEmail = firstName + domain;
  } else if (Util.isNotNullOrEmpty(lastName)) {
    uniqueEmail = lastName + domain;
  } else {
    throw new IllegalArgumentException("Both first name and last name cannot be null or empty");
  }

  while (!checkUniquemail(uniqueEmail)) {
    increment++;
    uniqueEmail = uniqueEmail.substring(0,uniqueEmail.indexOf('@'))+ increment + domain;
  }
  return uniqueEmail.trim().toLowerCase();