Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.*;
- import java.util.*;
- import sailpoint.object.*;
- import sailpoint.object.ProvisioningPlan;
- import sailpoint.object.ProvisioningPlan.AccountRequest;
- import sailpoint.object.ProvisioningPlan.AbstractRequest;
- import sailpoint.object.ProvisioningPlan.AttributeRequest;
- import sailpoint.object.ProvisioningPlan.PermissionRequest;
- import sailpoint.object.ProvisioningResult;
- public String getAttributeRequestValue(AccountRequest acctReq, String attribute){
- if ( acctReq != null ){
- AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
- if ( attrReq != null ){
- System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
- return attrReq.getValue();
- }
- }
- return null;
- }
- public String getMyAttributeRequestValue(AttributeRequest attrReq, String attribute){
- //if ( acctReq != null ){
- //AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
- //if ( attrReq != null ){
- //System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
- return attrReq.getValue();
- //}
- //}
- //return null;
- }
- ProvisioningResult result = new ProvisioningResult();
- if ( plan != null ) {
- List accounts = plan.getAccountRequests();
- if (( accounts != null ) && ( accounts.size() > 0 ) ) {
- for ( AccountRequest account : accounts ) {
- System.out.println("Hello");
- try {
- account.setNativeIdentity(plan.getNativeIdentity());
- String accountId=account.getNativeIdentity();
- Identity identity=context.getObjectByName(Identity.class,accountId);
- if (AccountRequest.Operation.Create.equals(account.getOperation())) {
- // Your code for Create Operation
- List requests=account.getAttributeRequests();
- for(AttributeRequest request : requests){
- System.out.println("___________________Create Operation________________");
- PreparedStatement statement=connection.prepareStatement("insert into users (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
- statement.setInt(1,Integer.valueOf(accountId));
- statement.setString(2,identity.getFirstname());
- statement.setString(3,identity.getLastname());
- statement.setString(4,identity.getEmail());
- statement.setString(5,getMyAttributeRequestValue(request,"role"));
- statement.executeUpdate();
- }
- //System.out.println("Size of list ::"+request.size());
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Modify.equals(account.getOperation())) {
- System.out.println("___________________Modify Operation________________");
- if (account != null ) {
- //PreparedStatement statement=connection.prepareStatement("update my_user set role=? where userid=?");
- //statement.setInt(2,Integer.valueOf(accountId));
- AttributeRequest attrReq = account.getAttributeRequest("role");
- if( attrReq != null && ProvisioningPlan.Operation.Remove.equals(attrReq.getOperation()) ) {
- System.out.println("____Removing Entitlement_____");
- String select="select * from users";
- PreparedStatement statement=connection.prepareStatement(
- select,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
- ResultSet rs = statement.executeQuery();
- rs.beforeFirst();
- while (rs.next()) {
- if (rs.getInt(2) == Integer.valueOf(accountId) && rs.getString(6).equals(getAttributeRequestValue(account,"role"))) {
- System.out.println("_________________Deleting row");
- rs.deleteRow();
- }
- }
- rs.close();
- statement.executeQuery();
- } else {
- System.out.println("____Adding Entitlement_____");
- PreparedStatement statement=connection.prepareStatement("insert into users (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
- statement.setInt(1,Integer.valueOf(accountId));
- statement.setString(2,identity.getFirstname());
- statement.setString(3,identity.getLastname());
- statement.setString(4,identity.getEmail());
- statement.setString(5,getAttributeRequestValue(account,"role"));
- statement.executeUpdate();
- }
- }
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Delete.equals(account.getOperation())) {
- // Your code for delete Operation
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Disable.equals(account.getOperation())) {
- // Your code for Disable Operation
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Enable.equals(account.getOperation())) {
- // Your code for Enable Operatio
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Lock.equals(account.getOperation())) {
- // Your code for Lock Operation
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else if (AccountRequest.Operation.Unlock.equals(account.getOperation())) {
- // Your code for Unlock Operation
- result.setStatus(ProvisioningResult.STATUS_COMMITTED);
- } else {
- // everything else
- }
- } catch (SQLException e) {
- result.setStatus(ProvisioningResult.STATUS_FAILED);
- result.addError(e);
- }
- } // account request loop
- } // if account requests exist
- } // if plan not null
- return result;
Add Comment
Please, Sign In to add comment