import sailpoint.api.Aggregator;
import sailpoint.api.SailPointContext;
import sailpoint.api.SailPointFactory;
import sailpoint.connector.Connector;
import sailpoint.connector.ConnectorException;
import sailpoint.connector.ConnectorFactory;
import sailpoint.object.Application;
import sailpoint.object.Attributes;
import sailpoint.object.ResourceObject;
import sailpoint.object.TaskResult;
import sailpoint.tools.GeneralException;
public class SingleAccountAggregation {
//static SailPointContext context = null;
public static String singleAccountAggregation(String appName, String accountName) throws ConnectorException {
try {
SailPointContext context = SailPointFactory.getCurrentContext();
Application application = context.getObjectByName(Application.class, appName);
Connector connector = ConnectorFactory.getConnector(application, null);
if (connector == null) {
return "Failed to connect App";
}
ResourceObject resourceObject = connector.getObject("account",accountName,null);
if (resourceObject == null) {
return "ResourceObject is not found";
}
Attributes attributes = new Attributes();
attributes.put("promoteManagedAttributes", "true");
attributes.put("refreshIdentity", "true");
attributes.put("aggregationType", "account");
Aggregator aggregator = new Aggregator(context, attributes);
TaskResult taskResult = aggregator.aggregate(application, resourceObject);
if (taskResult == null) {
return "taskResult is not found";
}
} catch (GeneralException e) {
System.out.println("singleAccountAggregation : "+e.getMessage());
}
return "success";
}
public static void main(String[] args) {
try {
String result = singleAccountAggregation("appName","accountName");
} catch (ConnectorException e) {
e.printStackTrace();
}
}
}
No comments:
Post a Comment