import sailpoint.object.ProvisioningPlan;
import sailpoint.object.ProvisioningResult;
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.ProvisioningPlan.AttributeRequest;
import sailpoint.object.*;
import sailpoint.api.Provisioner;
import sailpoint.object.ProvisioningProject;
import sailpoint.object.Identity;
import sailpoint.object.*;
import sailpoint.tools.Util;
import org.apache.log4j.Logger;
import sailpoint.object.EmailFileAttachment;
import sailpoint.object.EmailOptions;
import sailpoint.object.EmailTemplate;
import sailpoint.tools.EmailException;
import java.util.List;
import sailpoint.workflow.StandardWorkflowHandler;
import sailpoint.workflow.WorkflowContext;
import sailpoint.api.Workflower;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
Logger logger = Logger.getLogger("AIZRules.racfAfter");
logger.debug("ENTRY : AIZ-RACF-After-Provisioning for " + plan.getNativeIdentity());
logger.debug("Initial Plan is " + plan.toXml());
List accReqList = plan.getAccountRequests(application.getName());
logger.info("accReqList are " + accReqList);
String identityName = plan.getNativeIdentity();
String pwdRACF = null;
if (accReqList != null) {
for (ProvisioningPlan.AccountRequest accRequest: accReqList) {
if (accRequest != null & amp; & amp; AccountRequest.Operation.Create.equals(accRequest.getOperation())) {
String nativeId = plan.getNativeIdentity();
log.error("The identityName is[" + nativeId + "]");
if (nativeId != null) {
Identity identityObject = context.getObjectByName(Identity.class, nativeId);
AttributeRequest pwdAttrReq = accRequest.getAttributeRequest("password");
String pwdAttrReqValue = pwdAttrReq.getValue();
logger.info("pwdAttrReqValue is " + pwdAttrReqValue);
// user.setName(nativeId);
// user.setLastname(pwdAttrReqValue);
sendRACFNewUserNotificationToManager(identityName, pwdAttrReqValue);
// sendRehireNotificationToManager(identityName);
}
}
}
}
The connector returns a ProvisioningResult
object, which will be stored at one of two places, depending on the connector. You can get it either from the ProvisioningPlan (plan.getResult()
) or from the AccountRequest.
Once you have that object, it has an isCommitted()
method, which will return true if the provisioning was successful.
check this code snippet
if(accountRequest != null && accountRequest.getResult().getStatus().equalsIgnoreCase("Committed")){
// send email
}
2 Likes
thanx a lot it helped
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.