Guest User

Untitled

a guest
Sep 26th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.33 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. //import java.sql.*;
  15. import java.util.*;
  16. import sailpoint.object.*;
  17. import sailpoint.object.ProvisioningPlan;
  18. import sailpoint.object.ProvisioningPlan.AccountRequest;
  19. import sailpoint.object.ProvisioningPlan.AbstractRequest;
  20. import sailpoint.object.ProvisioningPlan.AttributeRequest;
  21. import sailpoint.object.ProvisioningPlan.PermissionRequest;
  22. import sailpoint.object.ProvisioningResult;
  23. public String getAttributeRequestValue(AccountRequest acctReq, String attribute){
  24. if ( acctReq != null ){
  25. AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
  26. if ( attrReq != null ){
  27. System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
  28. return attrReq.getValue();
  29. }
  30. }
  31. return null;
  32. }
  33. public String getMyAttributeRequestValue(AttributeRequest attrReq, String attribute){
  34. //if ( acctReq != null ){
  35. //AttributeRequest attrReq = acctReq.getAttributeRequest(attribute);
  36. //if ( attrReq != null ){
  37. //System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
  38. return attrReq.getValue();
  39. //}
  40. //}
  41. //return null;
  42. }
  43. ProvisioningResult result = new ProvisioningResult();
  44. if ( plan != null ) {
  45. List accounts = plan.getAccountRequests();
  46. if (( accounts != null ) && ( accounts.size() > 0 ) ) {
  47. for ( AccountRequest account : accounts ) {
  48. System.out.println("Hello");
  49. try {
  50. account.setNativeIdentity(plan.getNativeIdentity());
  51. String accountId=account.getNativeIdentity();
  52. Identity identity=context.getObjectByName(Identity.class,accountId);
  53. if (AccountRequest.Operation.Create.equals(account.getOperation())) {
  54. // Your code for Create Operation
  55. List requests=account.getAttributeRequests();
  56. for(AttributeRequest request : requests){
  57. System.out.println("___________________Create Operation________________");
  58. PreparedStatement statement=connection.prepareStatement("insert into my_user (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  59. statement.setInt(1,Integer.valueOf(accountId));
  60. statement.setString(2,identity.getFirstname());
  61. statement.setString(3,identity.getLastname());
  62. statement.setString(4,identity.getEmail());
  63. statement.setString(5,getMyAttributeRequestValue(request,"role"));
  64. statement.executeUpdate();
  65. }
  66. //System.out.println("Size of list ::"+request.size());
  67.  
  68. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  69. } else if (AccountRequest.Operation.Modify.equals(account.getOperation())) {
  70. System.out.println("___________________Modify Operation________________");
  71. if (account != null ) {
  72. //PreparedStatement statement=connection.prepareStatement("update my_user set role=? where userid=?");
  73. //statement.setInt(2,Integer.valueOf(accountId));
  74. AttributeRequest attrReq = account.getAttributeRequest("role");
  75. if( attrReq != null && ProvisioningPlan.Operation.Remove.equals(attrReq.getOperation()) ) {
  76. System.out.println("____Removing Entitlement_____");
  77. String select="select * from my_user";
  78. PreparedStatement statement=connection.prepareStatement(
  79. select,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
  80. ResultSet rs = statement.executeQuery();
  81. rs.beforeFirst();
  82. while (rs.next()) {
  83. if (rs.getInt(2) == Integer.valueOf(accountId) && rs.getString(6).equals(getAttributeRequestValue(account,"role"))) {
  84. System.out.println("_________________Deleting row");
  85. rs.deleteRow();
  86. }
  87. }
  88. rs.close();
  89. statement.executeQuery();
  90. } else {
  91. System.out.println("____Adding Entitlement_____");
  92. PreparedStatement statement=connection.prepareStatement("insert into my_user (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  93. statement.setInt(1,Integer.valueOf(accountId));
  94. statement.setString(2,identity.getFirstname());
  95. statement.setString(3,identity.getLastname());
  96. statement.setString(4,identity.getEmail());
  97. statement.setString(5,getAttributeRequestValue(account,"role"));
  98. statement.executeUpdate();
  99. }
  100. }
  101. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  102. } else if (AccountRequest.Operation.Delete.equals(account.getOperation())) {
  103. // Your code for delete Operation
  104. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  105. } else if (AccountRequest.Operation.Disable.equals(account.getOperation())) {
  106. // Your code for Disable Operation
  107. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  108. } else if (AccountRequest.Operation.Enable.equals(account.getOperation())) {
  109. // Your code for Enable Operatio
  110. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  111. } else if (AccountRequest.Operation.Lock.equals(account.getOperation())) {
  112. // Your code for Lock Operation
  113. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  114. } else if (AccountRequest.Operation.Unlock.equals(account.getOperation())) {
  115. // Your code for Unlock Operation
  116. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  117. } else {
  118. // everything else
  119. }
  120. } catch (SQLException e) {
  121. result.setStatus(ProvisioningResult.STATUS_FAILED);
  122. result.addError(e);
  123. }
  124. } // account request loop
  125. } // if account requests exist
  126. } // if plan not null
  127. return result;System.out.println("This is attribute request "+attrReq.getValue()+" AttrReq :: "+attrReq);
  128. return attrReq.getValue();
  129. }
  130. }
  131. return null;
  132. }
  133. ProvisioningResult result = new ProvisioningResult();
  134. if ( plan != null ) {
  135. List accounts = plan.getAccountRequests();
  136. if (( accounts != null ) && ( accounts.size() > 0 ) ) {
  137. for ( AccountRequest account : accounts ) {
  138. System.out.println("Hello");
  139. try {
  140. account.setNativeIdentity(plan.getNativeIdentity());
  141. String accountId=account.getNativeIdentity();
  142. Identity identity=context.getObjectByName(Identity.class,accountId);
  143. if (AccountRequest.Operation.Create.equals(account.getOperation())) {
  144. // Your code for Create Operation
  145. //List request=account.getAttributeRequest();
  146. //for(account.AttributeRequest req)
  147. //System.out.println("Size of list ::"+request.size());
  148. System.out.println("___________________Create Operation________________");
  149. PreparedStatement statement=connection.prepareStatement("insert into my_user (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  150. statement.setInt(1,Integer.valueOf(accountId));
  151. statement.setString(2,identity.getFirstname());
  152. statement.setString(3,identity.getLastname());
  153. statement.setString(4,identity.getEmail());
  154. statement.setString(5,getAttributeRequestValue(account,"role"));
  155. statement.executeUpdate();
  156. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  157. } else if (AccountRequest.Operation.Modify.equals(account.getOperation())) {
  158. System.out.println("___________________Modify Operation________________");
  159. if (account != null ) {
  160. //PreparedStatement statement=connection.prepareStatement("update my_user set role=? where userid=?");
  161. //statement.setInt(2,Integer.valueOf(accountId));
  162. AttributeRequest attrReq = account.getAttributeRequest("role");
  163. if( attrReq != null && ProvisioningPlan.Operation.Remove.equals(attrReq.getOperation()) ) {
  164. System.out.println("____Removing Entitlement_____");
  165. String select="select * from my_user";
  166. PreparedStatement statement=connection.prepareStatement(
  167. select,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
  168. ResultSet rs = statement.executeQuery();
  169. rs.beforeFirst();
  170. while (rs.next()) {
  171. System.out.println("Rs String "+rs.getString(6)+" Current Value::"+getAttributeRequestValue(account,"role"));
  172. if (rs.getInt(2) == Integer.valueOf(accountId) && rs.getString(6).equals(getAttributeRequestValue(account,"role"))) {
  173. System.out.println("_________________Deleting row");
  174. rs.deleteRow();
  175. }
  176. }
  177. rs.close();
  178. statement.executeQuery();
  179. } else {
  180. System.out.println("____Adding Entitlement_____");
  181. PreparedStatement statement=connection.prepareStatement("insert into my_user (userid,firstname,lastname,email,role) values(?,?,?,?,?)");
  182. statement.setInt(1,Integer.valueOf(accountId));
  183. statement.setString(2,identity.getFirstname());
  184. statement.setString(3,identity.getLastname());
  185. statement.setString(4,identity.getEmail());
  186. statement.setString(5,getAttributeRequestValue(account,"role"));
  187. statement.executeUpdate();
  188. }
  189. }
  190. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  191. } else if (AccountRequest.Operation.Delete.equals(account.getOperation())) {
  192. // Your code for delete Operation
  193. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  194. } else if (AccountRequest.Operation.Disable.equals(account.getOperation())) {
  195. // Your code for Disable Operation
  196. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  197. } else if (AccountRequest.Operation.Enable.equals(account.getOperation())) {
  198. // Your code for Enable Operatio
  199. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  200. } else if (AccountRequest.Operation.Lock.equals(account.getOperation())) {
  201. // Your code for Lock Operation
  202. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  203. } else if (AccountRequest.Operation.Unlock.equals(account.getOperation())) {
  204. // Your code for Unlock Operation
  205. result.setStatus(ProvisioningResult.STATUS_COMMITTED);
  206. } else {
  207. // everything else
  208. }
  209. } catch (SQLException e) {
  210. result.setStatus(ProvisioningResult.STATUS_FAILED);
  211. result.addError(e);
  212. }
  213. } // account request loop
  214. } // if account requests exist
  215. } // if plan not null
  216. return result;
Add Comment
Please, Sign In to add comment