<Source>
import sailpoint.object.ProvisioningPlan;
import sailpoint.object.ProvisioningPlan.AccountRequest;
import sailpoint.object.ProvisioningPlan.AttributeRequest;
import sailpoint.connector.webservices.EndPoint;
import sailpoint.tools.Util;
import sailpoint.util.Listl
log.error("***currentbody***"+ requestEndPoint.getBody().get("jsonBody"));
log.error("***requestEndPoint *** "+ requestEndPoint );
log.error("***provisioningPlan *** "+ provisioningPlan );
if (provisioningPlan != null @and requestEndPoint != null) {
String nativeIdentity = plan.getNativeIdentity();
log.error("Native Identity: " + nativeIdentity);
List accountRequests = plan.getAccountRequests();
log.error("accountRequests: " + accountRequests);
if(accountRequests != null @and accountRequests.size() > 0){
for (AccountRequest accountRequest : accountRequests) {
AccountRequest.Operation op = accountRequest.getOperation();
log.error("Operation: " + op);
log.error("Account Native Identity: " + accountRequest.getNativeIdentity());
List attrRequests = accountRequest.getAttributeRequests();
log.error("attrRequests: " + attrRequests);
if(attrRequests != null @and attrRequests.size() > 0){
for (AttributeRequest attrRequest : attrRequests) {
String attrName = attrRequest.getName();
Object attrValue = attrRequest.getValue();
if (attrValue instanceof String) {
log.error("It's a String");
} else if (attrValue instanceof Integer) {
log.error("It's an Integer");
}
log.error("Attribute: " + attrName + " | Value: " + attrValue);
// Add 'role_Id' attribute if operation is Modify
if (op == AccountRequest.Operation.Modify) {
AttributeRequest attrGrpRequest = new AttributeRequest("role_Id", ProvisioningPlan.Operation.Set, attrValue);
accountRequest.add(attrGrpRequest);
log.error("Added role_Id attribute with value: " + attrValue);
}
if (op == AccountRequest.Operation.Create) {
AttributeRequest attrGrpRequest = new AttributeRequest("role_Id", ProvisioningPlan.Operation.Set, attrValue);
accountRequest.add(attrGrpRequest);
log.error("Added role_Id attribute with value: " + attrValue);
}
}
}
}
}
}
log.error("Provisioning rule completed.");
//return endPoint;
</Source>
No comments:
Post a Comment