Guest User

Untitled

a guest
Sep 26th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. import java.sql.*;
  2. import java.util.*;
  3. import sailpoint.object.*;
  4. import sailpoint.object.ProvisioningPlan;
  5. import sailpoint.object.ProvisioningPlan.AccountRequest;
  6. import sailpoint.object.ProvisioningPlan.AbstractRequest;
  7. import sailpoint.object.ProvisioningPlan.AttributeRequest;
  8. import sailpoint.object.ProvisioningPlan.PermissionRequest;
  9. import sailpoint.object.ProvisioningResult;
  10. public String getAttributeRequestValue(AccountRequest acctReq, String attribute){
  11. if ( acctReq != null ){
  12. AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
  13. if ( attrReq != null ){
  14. System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
  15. return attrReq.getValue();
  16. }
  17. }
  18. return null;
  19. }
  20. public String getMyAttributeRequestValue(AttributeRequest attrReq, String attribute){
  21. //if ( acctReq != null ){
  22. //AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
  23. //if ( attrReq != null ){
  24. //System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
  25. return attrReq.getValue();
  26. //}
  27. //}
  28. //return null;
  29. }
  30. ProvisioningResult result = new ProvisioningResult();
  31. if ( plan != null ) {
  32. List accounts = plan.getAccountRequests();
  33. if (( accounts != null ) && ( accounts.size() > 0 ) ) {
  34. for ( AccountRequest account : accounts ) {
  35. System.out.println("Hello");
  36. try {
  37. account.setNativeIdentity(plan.getNativeIdentity());
  38. String accountId=account.getNativeIdentity();
  39. Identity identity=context.getObjectByName(Identity.class,accountId);
  40. if (AccountRequest.Operation.Create.equals(account.getOperation())) {
  41. // Your code for Create Operation
  42. List requests=account.getAttributeRequests();
  43. for(AttributeRequest request : requests){
  44. System.out.println("___________________Create Operation________________");
  45. PreparedStatement statement=connection.prepareStatement("insert into users (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  46. statement.setInt(1,Integer.valueOf(accountId));
  47. statement.setString(2,identity.getFirstname());
  48. statement.setString(3,identity.getLastname());
  49. statement.setString(4,identity.getEmail());
  50. statement.setString(5,getMyAttributeRequestValue(request,"role"));
  51. statement.executeUpdate();
  52. }
  53. //System.out.println("Size of list ::"+request.size());
  54.  
  55. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  56. } else if (AccountRequest.Operation.Modify.equals(account.getOperation())) {
  57. System.out.println("___________________Modify Operation________________");
  58. if (account != null ) {
  59. //PreparedStatement statement=connection.prepareStatement("update my_user set role=? where userid=?");
  60. //statement.setInt(2,Integer.valueOf(accountId));
  61. AttributeRequest attrReq = account.getAttributeRequest("role");
  62. if( attrReq != null && ProvisioningPlan.Operation.Remove.equals(attrReq.getOperation()) ) {
  63. System.out.println("____Removing Entitlement_____");
  64. String select="select * from users";
  65. PreparedStatement statement=connection.prepareStatement(
  66. select,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
  67. ResultSet rs = statement.executeQuery();
  68. rs.beforeFirst();
  69. while (rs.next()) {
  70. if (rs.getInt(2) == Integer.valueOf(accountId) && rs.getString(6).equals(getAttributeRequestValue(account,"role"))) {
  71. System.out.println("_________________Deleting row");
  72. rs.deleteRow();
  73. }
  74. }
  75. rs.close();
  76. statement.executeQuery();
  77. } else {
  78. System.out.println("____Adding Entitlement_____");
  79. PreparedStatement statement=connection.prepareStatement("insert into users (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  80. statement.setInt(1,Integer.valueOf(accountId));
  81. statement.setString(2,identity.getFirstname());
  82. statement.setString(3,identity.getLastname());
  83. statement.setString(4,identity.getEmail());
  84. statement.setString(5,getAttributeRequestValue(account,"role"));
  85. statement.executeUpdate();
  86. }
  87. }
  88. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  89. } else if (AccountRequest.Operation.Delete.equals(account.getOperation())) {
  90. // Your code for delete Operation
  91. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  92. } else if (AccountRequest.Operation.Disable.equals(account.getOperation())) {
  93. // Your code for Disable Operation
  94. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  95. } else if (AccountRequest.Operation.Enable.equals(account.getOperation())) {
  96. // Your code for Enable Operatio
  97. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  98. } else if (AccountRequest.Operation.Lock.equals(account.getOperation())) {
  99. // Your code for Lock Operation
  100. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  101. } else if (AccountRequest.Operation.Unlock.equals(account.getOperation())) {
  102. // Your code for Unlock Operation
  103. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  104. } else {
  105. // everything else
  106. }
  107. } catch (SQLException e) {
  108. result.setStatus(ProvisioningResult.STATUS_FAILED);
  109. result.addError(e);
  110. }
  111. } // account request loop
  112. } // if account requests exist
  113. } // if plan not null
  114. return result;
Add Comment
Please, Sign In to add comment