mirror of
https://github.com/LukeHagar/developer.sailpoint.com.git
synced 2025-12-08 12:27:47 +00:00
Deploy to GitHub pages
This commit is contained in:
79
rule-java-docs/src/sailpoint/api/SailPointContext.java
Normal file
79
rule-java-docs/src/sailpoint/api/SailPointContext.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package sailpoint.api;
|
||||
|
||||
import sailpoint.object.Filter;
|
||||
import sailpoint.object.QueryOptions;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A context object class used to query for data
|
||||
* This class is for old rules using SailPointContext. Any new rules submitted using the following methods will be blocked and
|
||||
* asked to migrate to the replacement methods available in IDNRuleUtil
|
||||
*
|
||||
* These methods allow you to pass a class name to query on. The two classes supported are `Identity.class` and `Link.class`
|
||||
*/
|
||||
public class SailPointContext {
|
||||
|
||||
/**
|
||||
* Query the context to get the number of objects for the given query
|
||||
* @param className Identity or Link class
|
||||
* @param queryOptions options to filter results
|
||||
* @return the number of objects found
|
||||
*/
|
||||
public int countObjects(Class className, QueryOptions queryOptions) {
|
||||
return 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the context to get a list of objects for the given query
|
||||
* @param className Identity or Link class
|
||||
* @param queryOptions options to filter results
|
||||
* @return the list of objects found
|
||||
*/
|
||||
public <T> List<T> getObjects(Class className, QueryOptions queryOptions) {
|
||||
return new ArrayList<T>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the context to get a list of results only including the attributes provided that match the given query
|
||||
* @param className Identity or Link class
|
||||
* @param queryOptions options to filter results
|
||||
* @param attributes the attributes to return
|
||||
* @return
|
||||
*/
|
||||
public Iterator<Object[]> search(Class className, QueryOptions queryOptions, String attributes) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the context to get a list of results that match the given query
|
||||
* @param className Identity or Link class
|
||||
* @param queryOptions options to filter results
|
||||
* @return the results of the query
|
||||
*/
|
||||
public Iterator<Object[]> search(Class className, QueryOptions queryOptions) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the context to get an object by name
|
||||
* @param className Identity or Link class
|
||||
* @param name the name of the object to fetch
|
||||
* @return the result of the query
|
||||
*/
|
||||
public <T> Object getObjectByName(Class className, String name) {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the context to get a unique object with filters
|
||||
* @param className Identity or Link class
|
||||
* @param filters options to filter by
|
||||
* @return the result of the query
|
||||
*/
|
||||
public <T> Object getUniqueObject(Class className, Filter... filters) {
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
375
rule-java-docs/src/sailpoint/connector/webservices/Endpoint.java
Normal file
375
rule-java-docs/src/sailpoint/connector/webservices/Endpoint.java
Normal file
@@ -0,0 +1,375 @@
|
||||
package sailpoint.connector.webservices;
|
||||
|
||||
import sailpoint.object.Attributes;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Endpoint {
|
||||
private String _contextUrl;
|
||||
private String _httpMethodType;
|
||||
private String _operationType;
|
||||
private String _rootPath;
|
||||
private String _fullUrl;
|
||||
private String _baseUrl;
|
||||
private int _sequenceNumberForEndpoint;
|
||||
private String _uniqueNameForEndPoint;
|
||||
private Map _resMappingObj;
|
||||
private Map _header;
|
||||
private Map _body;
|
||||
private List _responseCode;
|
||||
private Attributes<String, Object> _attributes;
|
||||
|
||||
/**
|
||||
* Use this method to get the name of the rule to run after the webservice request completes.
|
||||
*/
|
||||
public String getAfterRule() {
|
||||
return "afterRule";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the name of the rule to run before the webservice request completes
|
||||
*/
|
||||
public String getBeforeRule() {
|
||||
return "beforeRule";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the context url for the particular operation (create user, update user, account aggregation, etc...)
|
||||
* @param value the name of the context url
|
||||
*/
|
||||
public void setContextUrl(java.lang.String value) {
|
||||
this._contextUrl = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the context url for the particular operation (create user, update user, account aggregation, etc...)
|
||||
*/
|
||||
public String getContextUrl() {
|
||||
return this._contextUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the http method type (put, post, get, patch, delete) for the particular operation (create user, update user, account aggregation, etc...)
|
||||
* @param value the name of the http method type [get, post, put, patch, delete]
|
||||
*/
|
||||
public void setHttpMethodType(java.lang.String value) {
|
||||
this._httpMethodType = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the http method type (put, post, get, patch, delete) for the particular operation (create user, update user, account aggregation, etc...)
|
||||
*/
|
||||
public String getHttpMethodType() {
|
||||
return this._httpMethodType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the operation type (Account Aggregation, Group Aggregation, Create Account, etc...) for the particular operation record (create user, update user, account aggregation, etc...)
|
||||
* @param value the name of the operation type
|
||||
*/
|
||||
public void setOperationType(java.lang.String value) {
|
||||
this._operationType = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the operation type (Account Aggregation, Group Aggregation, Create Account, etc...) for the particular operation record (create user, update user, account aggregation, etc...)
|
||||
*/
|
||||
public String getOperationType() {
|
||||
return this._operationType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the root of the JSON response returned from the managed source for the particular operation (create user, update user, account aggregation, etc...)
|
||||
* <br>
|
||||
* Example root path for the json below: {@code $.results }
|
||||
* <pre>
|
||||
* {
|
||||
* "results": [
|
||||
* {
|
||||
* "id": "12345",
|
||||
* "name": "John Doe"
|
||||
* "email": "john.doe@sailpoint.com"
|
||||
* },
|
||||
* {
|
||||
* "id": "54321",
|
||||
* "name": "Jane Doe",
|
||||
* "email": "jane.doe@sailpoint.com"
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* </pre>
|
||||
* @param value the name of the root of the JSON response results
|
||||
*/
|
||||
public void setRootPath(java.lang.String value) {
|
||||
this._rootPath = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the root of the JSON response returned from the managed source for the particular operation (create user, update user, account aggregation, etc...)
|
||||
* <br>
|
||||
* Example root path for the json below: {@code $.results }
|
||||
* <pre>
|
||||
* {
|
||||
* "results": [
|
||||
* {
|
||||
* "id": "12345",
|
||||
* "name": "John Doe"
|
||||
* "email": "john.doe@sailpoint.com"
|
||||
* },
|
||||
* {
|
||||
* "id": "54321",
|
||||
* "name": "Jane Doe",
|
||||
* "email": "jane.doe@sailpoint.com"
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public String getRootPath() {
|
||||
return this._rootPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the complete url (endpoint) of the operation that is to be performed for the particular operation
|
||||
* <pre>
|
||||
* Example full url for Airtable Get Users call
|
||||
* ex: https://api.airtable.com/v0/appe0bVnLjyV97hyg/Users
|
||||
* </pre>
|
||||
* @param value the full url as a string
|
||||
*/
|
||||
public void setFullUrl(java.lang.String value) {
|
||||
this._fullUrl = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the complete url (endpoint) of the operation that is to be performed for the particular operation
|
||||
* <pre>
|
||||
* Example full url for Airtable Get Users call
|
||||
* ex: https://api.airtable.com/v0/appe0bVnLjyV97hyg/Users
|
||||
* </pre>
|
||||
*/
|
||||
public String getFullUrl() {
|
||||
return this._fullUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the base url (endpoint) of the operation that is to be performed for the particular operation
|
||||
* <pre>
|
||||
* Example base url for Airtable Get Users call
|
||||
* ex: https://api.airtable.com/v0/appe0bVnLjyV97hyg
|
||||
* </pre>
|
||||
* @param value the base url as a string
|
||||
*/
|
||||
public void setBaseUrl(java.lang.String value){
|
||||
this._baseUrl = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the base url (endpoint) of the operation that is to be performed for the particular operation
|
||||
* <pre>
|
||||
* Example base url for Airtable Get Users call
|
||||
* ex: https://api.airtable.com/v0/appe0bVnLjyV97hyg
|
||||
* </pre>
|
||||
*/
|
||||
public String getBaseUrl() {
|
||||
return this._baseUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the sequence number for the particular operation (create user, update user, account aggregation, etc...)
|
||||
*/
|
||||
public int getSequenceNumberForEndpoint() {
|
||||
return this._sequenceNumberForEndpoint;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the unique operation name for the particular operation (create user, update user, account aggregation, etc...)
|
||||
*/
|
||||
public String getUniqueNameForEndPoint() {
|
||||
return this._uniqueNameForEndPoint;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the response mapping for the response attributes returned from the JSON response of the managed source.
|
||||
* <br>
|
||||
* The key would be the attribute name from the source account schema and the value would be the JSON path after the root path.
|
||||
* <pre>
|
||||
{
|
||||
* "results": [
|
||||
* {
|
||||
* "fields": {
|
||||
* "id": "12345",
|
||||
* "name": "John Doe"
|
||||
* "email": "john.doe@sailpoint.com"
|
||||
* }
|
||||
* },
|
||||
* {
|
||||
* "fields": {
|
||||
* "id": "54321",
|
||||
* "name": "Jane Doe",
|
||||
* "email": "jane.doe@sailpoint.com"
|
||||
* }
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* </pre>
|
||||
* Root path: $.results
|
||||
* <br>
|
||||
* Response Map
|
||||
* <pre>
|
||||
* {
|
||||
* "id": "fields.id",
|
||||
* "name": "fields.name",
|
||||
* "email": "fields.email"
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @param value the mapping of account schema attribute to the JSON path value in the JSON response
|
||||
*/
|
||||
public void setResMappingObj(Map value) {
|
||||
this._resMappingObj = value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to get the response mapping for the response attributes returned from the JSON response of the managed source.
|
||||
* <br>
|
||||
* The key would be the attribute name from the source account schema and the value would be the JSON path after the root path.
|
||||
* <pre>
|
||||
{
|
||||
* "results": [
|
||||
* {
|
||||
* "fields": {
|
||||
* "id": "12345",
|
||||
* "name": "John Doe"
|
||||
* "email": "john.doe@sailpoint.com"
|
||||
* }
|
||||
* },
|
||||
* {
|
||||
* "fields": {
|
||||
* "id": "54321",
|
||||
* "name": "Jane Doe",
|
||||
* "email": "jane.doe@sailpoint.com"
|
||||
* }
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* </pre>
|
||||
* Root path: $.results
|
||||
* <br>
|
||||
* Response Map
|
||||
* <pre>
|
||||
* {
|
||||
* "id": "fields.id",
|
||||
* "name": "fields.name",
|
||||
* "email": "fields.email"
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
*/
|
||||
public Map getResMappingObj() {
|
||||
return this._resMappingObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the header values for the request
|
||||
* <pre>
|
||||
* //Set Header Content-Type
|
||||
* Map headerMap = requestEndPoint.getHeader();
|
||||
* headerMap.put("Content-Type", "application/json");
|
||||
* requestEndPoint.setHeader(headerMap);
|
||||
* </pre>
|
||||
* @param value the map of http headers to send with the request
|
||||
*/
|
||||
public void setHeader(Map value) {
|
||||
this._header = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the header values for the request
|
||||
* <pre>
|
||||
* //Set Header Content-Type
|
||||
* Map headerMap = requestEndPoint.getHeader();
|
||||
* headerMap.put("Content-Type", "application/json");
|
||||
* requestEndPoint.setHeader(headerMap);
|
||||
* </pre>
|
||||
*/
|
||||
public Map getHeader() {
|
||||
return this._header;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to add a header value to the existing http header map for the request
|
||||
* <pre>
|
||||
* requestEndPoint.addHeader("Authorization", "Bearer " + accessToken);
|
||||
* </pre>
|
||||
* @param entry the key for the header
|
||||
* @param value the value for the header
|
||||
*/
|
||||
public void addHeader(java.lang.String entry, java.lang.String value) {
|
||||
if (this._header == null) {
|
||||
this._header = new HashMap();
|
||||
}
|
||||
|
||||
this._header.put(entry, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the http payload information as a map.
|
||||
* <br>
|
||||
* The map must contain three keys {@code bodyFormat, bodyFormData, jsonBody}. The bodyFormat value can be {@code raw}
|
||||
* <br>
|
||||
* which means the user has provided values as a raw JSON string, otherwise the user has provided the value in the key,value format that must be converted into JSON
|
||||
* @param value the http payload map
|
||||
*/
|
||||
public void setBody(Map value) {
|
||||
this._body = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the http payload information as a map.
|
||||
* <br>
|
||||
* The map contains three keys {@code bodyFormat, bodyFormData, jsonBody}.
|
||||
*/
|
||||
public Map getBody() {
|
||||
return this._body;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to set the value of successful response codes as a list (200,201,299). This will be respected by the connector.
|
||||
* <br>
|
||||
* If any other response codes are returned this would be considered as a request failure.
|
||||
* @param value the list of successful response code values
|
||||
*/
|
||||
public void setResponseCode(java.util.List value) {
|
||||
this._responseCode = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get the value of successful response codes as a list (200,201,299).
|
||||
*/
|
||||
public List getResponseCode() {
|
||||
return this._responseCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get all the available attributes
|
||||
* @return
|
||||
*/
|
||||
public Attributes getAttributes() {
|
||||
return this._attributes;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to get the value of an attribute
|
||||
* @param name the name of the attribute
|
||||
* @return
|
||||
*/
|
||||
public Object getAttribute(java.lang.String name) {
|
||||
return this._attributes != null ? this._attributes.get(name) : null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
package sailpoint.connector.webservices;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Definition of a Web Services Client interface available to Rule implementors.
|
||||
*/
|
||||
public class WebServicesClient {
|
||||
protected HttpClient _client;
|
||||
|
||||
/**
|
||||
* Configure connection parameters. See the ARG_* constants.
|
||||
* <pre>
|
||||
* public static final String ARG_URL = "url";
|
||||
* public static final String ARG_USERNAME = "username";
|
||||
* public static final String ARG_PASSWORD = "password";
|
||||
* public static final String ARG_TIMEOUT = "timeoutInSeconds";
|
||||
* </pre>
|
||||
* @param args map of the available configuration parameters, ARG_URL, ARG_USERNAME, ARG_PASSWORD, ARG_TIMEOUT
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public void configure(java.util.Map args) throws java.lang.Exception {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to get a list of cookies associated with the request
|
||||
* @return List of cookies associated with the request
|
||||
*/
|
||||
public List getCookies() {
|
||||
return this._client.getCookies();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to execute a GET call with specifying header values and allowed statuses.
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Get request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executeGet(java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "getResponse";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to execute a GET call with specifying the url, header values and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Get request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executeGet(java.lang.String url, java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "getResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a POST call with specifying the url, payload, and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Post request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePost(java.lang.String url, java.lang.Object payload, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "postResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a POST call with specifying the url, payload, header values and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Post request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePost(java.lang.String url, java.lang.Object payload, java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "postResponse";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to execute a PUT call with specifying the url, payload, and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Put request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePut(java.lang.String url, java.lang.Object payload, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "putResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a PUT call with specifying the url, payload, header values and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Put request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePut(java.lang.String url, java.lang.Object payload, java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "putResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a PATCH call with specifying the url, payload and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Patch request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePatch(java.lang.String url, java.lang.Object payload, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "patchResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a PATCH call with specifying the url, payload, header values and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param payload The payload to send to the request endpoint
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Patch request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executePatch(java.lang.String url, java.lang.Object payload, java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "patchResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last executed request's response headers.
|
||||
* @return Map of response headers
|
||||
*/
|
||||
public java.util.Map<java.lang.String,java.lang.String> getResponseHeaders() {
|
||||
return this._client.getResponseHeaders();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this method to execute a DELETE call specifying the url and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Delete request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executeDelete(java.lang.String url, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "deleteResponse";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this method to execute a DELETE call specifying the url, header values and allowed statuses.
|
||||
* @param url The url to execute the request against
|
||||
* @param headers Any headers needed to authenticate or specify a content-type
|
||||
* @param allowedStatuses Allowed response statuses, ie: 200, 201, 400, etc...
|
||||
* @return Delete request response object
|
||||
* @throws java.lang.Exception The exception thrown by the client
|
||||
*/
|
||||
public String executeDelete(java.lang.String url, java.util.Map headers, java.util.List<java.lang.String> allowedStatuses) throws java.lang.Exception {
|
||||
return "deleteResponse";
|
||||
}
|
||||
|
||||
}
|
||||
45
rule-java-docs/src/sailpoint/object/Application.java
Normal file
45
rule-java-docs/src/sailpoint/object/Application.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import sailpoint.object.Filter.LeafFilter;
|
||||
|
||||
public class Application {
|
||||
|
||||
public String getId() {
|
||||
return "id";
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "name";
|
||||
}
|
||||
|
||||
public Attributes<String, Object> getAttributes() {
|
||||
return new Attributes<String,Object>();
|
||||
}
|
||||
|
||||
public Object getAttributeValue(String name) {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
public String getStringAttributeValue(String name) {
|
||||
return "attributeValue";
|
||||
}
|
||||
|
||||
public List<Schema> getSchemas() {
|
||||
return new ArrayList<Schema>();
|
||||
}
|
||||
|
||||
public int getIntAttributeValue(String name) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public LeafFilter getManagerCorrelationFilter() {
|
||||
return new LeafFilter();
|
||||
}
|
||||
|
||||
public List<PasswordPolicyHolder> getPasswordPolicies() {
|
||||
return new ArrayList<PasswordPolicyHolder>();
|
||||
}
|
||||
|
||||
}
|
||||
13
rule-java-docs/src/sailpoint/object/AttributeDefinition.java
Normal file
13
rule-java-docs/src/sailpoint/object/AttributeDefinition.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package sailpoint.object;
|
||||
|
||||
public class AttributeDefinition extends BaseAttributeDefinition {
|
||||
|
||||
public boolean isEntitlement() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isMulti() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
25
rule-java-docs/src/sailpoint/object/Attributes.java
Normal file
25
rule-java-docs/src/sailpoint/object/Attributes.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class Attributes<K, V> extends HashMap<K, V> {
|
||||
public Map<K, V> getMap() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
public List getList(String attributeName) {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
public List<String> getStringList(String name) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
public String getString(String attributeName) {
|
||||
return "attributeValue";
|
||||
}
|
||||
|
||||
public List<String> getKeys() {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class BaseAttributeDefinition {
|
||||
public static final String TYPE_STRING = "string";
|
||||
public static final String TYPE_SECRET = "secret";
|
||||
public static final String TYPE_LONG = "long";
|
||||
public static final String TYPE_INT = "int";
|
||||
public static final String TYPE_BOOLEAN = "boolean";
|
||||
public static final String TYPE_DATE = "date";
|
||||
public static final String TYPE_PERMISSION = "permission";
|
||||
|
||||
String _name;
|
||||
String _displayName;
|
||||
String _type;
|
||||
boolean _multi;
|
||||
String _description;
|
||||
protected String _categoryName;
|
||||
private Object _defaultValue;
|
||||
protected List<Object> _allowedValues;
|
||||
protected boolean _required;
|
||||
|
||||
public String getName() {
|
||||
return this._name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this._name = name;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return this._displayName;
|
||||
}
|
||||
|
||||
public void setDisplayName(String name) {
|
||||
this._displayName = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return this._type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this._type = type;
|
||||
}
|
||||
|
||||
public boolean isMulti() {
|
||||
return this._multi;
|
||||
}
|
||||
|
||||
public void setMulti(boolean b) {
|
||||
this._multi = b;
|
||||
}
|
||||
|
||||
public boolean isMultiValued() {
|
||||
return this._multi;
|
||||
}
|
||||
|
||||
public void setMultiValued(boolean b) {
|
||||
this._multi = b;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return this._description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this._description = description;
|
||||
}
|
||||
|
||||
public String getCategoryName() {
|
||||
return this._categoryName;
|
||||
}
|
||||
|
||||
public void setCategoryName(String categoryName) {
|
||||
this._categoryName = categoryName;
|
||||
}
|
||||
|
||||
public boolean isRequired() {
|
||||
return this._required;
|
||||
}
|
||||
|
||||
public void setRequired(boolean required) {
|
||||
this._required = required;
|
||||
}
|
||||
|
||||
public Object getDefaultValue() {
|
||||
return this._defaultValue;
|
||||
}
|
||||
|
||||
public void setDefaultValue(Object defaultValue) {
|
||||
this._defaultValue = defaultValue;
|
||||
}
|
||||
|
||||
}
|
||||
27
rule-java-docs/src/sailpoint/object/Bundle.java
Normal file
27
rule-java-docs/src/sailpoint/object/Bundle.java
Normal file
@@ -0,0 +1,27 @@
|
||||
package sailpoint.object;
|
||||
|
||||
public class Bundle {
|
||||
|
||||
String _displayName;
|
||||
String _name;
|
||||
|
||||
public Bundle() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the display name of the bundle
|
||||
* @return the displayName
|
||||
*/
|
||||
public String getDisplayName() {
|
||||
return this._displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the displayable name of the bundle.
|
||||
* If the displayName is empty, return the name
|
||||
* @return the displayableName or Name
|
||||
*/
|
||||
public String getDisplayableName() {
|
||||
return null == this._displayName ? this._name : this._displayName;
|
||||
}
|
||||
}
|
||||
105
rule-java-docs/src/sailpoint/object/Entitlement.java
Normal file
105
rule-java-docs/src/sailpoint/object/Entitlement.java
Normal file
@@ -0,0 +1,105 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class Entitlement {
|
||||
private String applicationName;
|
||||
private String attributeName;
|
||||
private String attributeValue;
|
||||
private String description;
|
||||
|
||||
|
||||
public String getApplicationName() {
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.applicationName;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getAttributeName() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.attributeName;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getAttributeValue() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.attributeValue;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.description;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public static List<Entitlement> getAccountEntitlements(Locale locale, Link link, String attributeFilter) {
|
||||
Object[] var17 = new Object[]{locale, link, attributeFilter};
|
||||
|
||||
try {
|
||||
List accountEntitlements = new ArrayList();
|
||||
Application app = link.getApplication();
|
||||
String appName = "unknown";
|
||||
if (app != null) {
|
||||
appName = app.getName();
|
||||
if (appName == null) {
|
||||
appName = app.getId();
|
||||
}
|
||||
}
|
||||
|
||||
Schema schema = app.getAccountSchema();
|
||||
List attrs = schema.getEntitlementAttributeNames();
|
||||
Iterator var8 = attrs.iterator();
|
||||
|
||||
while(true) {
|
||||
String attr;
|
||||
List values;
|
||||
do {
|
||||
do {
|
||||
if (!var8.hasNext()) {
|
||||
return accountEntitlements;
|
||||
}
|
||||
|
||||
attr = (String)var8.next();
|
||||
} while(attributeFilter != null && (attr == null || !attr.startsWith(attributeFilter)));
|
||||
|
||||
Object v = link.getAttribute(attr);
|
||||
values = Util.asList(v);
|
||||
} while(values == null);
|
||||
|
||||
Iterator var12 = values.iterator();
|
||||
|
||||
while(var12.hasNext()) {
|
||||
Object obj = var12.next();
|
||||
String strVal = obj.toString();
|
||||
String description = Explanator.getDescription(app, attr, strVal, locale);
|
||||
accountEntitlements.add(new Entitlement(appName, attr, strVal, description, locale));
|
||||
}
|
||||
}
|
||||
} catch (Throwable var24) {
|
||||
throw var24;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
rule-java-docs/src/sailpoint/object/Field.java
Normal file
20
rule-java-docs/src/sailpoint/object/Field.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package sailpoint.object;
|
||||
|
||||
public class Field extends BaseAttributeDefinition {
|
||||
|
||||
public String getUnqualifiedName() {
|
||||
return "unqualifiedName";
|
||||
}
|
||||
|
||||
public String getStringAttribute(String name) {
|
||||
return "attributeValue";
|
||||
}
|
||||
|
||||
public String getApplication() {
|
||||
return "application";
|
||||
}
|
||||
|
||||
public Object getAttribute(String attribute) {
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
3015
rule-java-docs/src/sailpoint/object/Filter.java
Normal file
3015
rule-java-docs/src/sailpoint/object/Filter.java
Normal file
File diff suppressed because it is too large
Load Diff
160
rule-java-docs/src/sailpoint/object/Identity.java
Normal file
160
rule-java-docs/src/sailpoint/object/Identity.java
Normal file
@@ -0,0 +1,160 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Identity {
|
||||
|
||||
/**
|
||||
* Get the calling Identity as a string
|
||||
* @return The string representation of the Identity
|
||||
*/
|
||||
public String toString() {
|
||||
return "identityString";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the calling Identity Id
|
||||
* @return The string Id of the Identity
|
||||
*/
|
||||
public String getId() {
|
||||
return "id";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the calling Identity name
|
||||
* @return The string name of the Identity
|
||||
*/
|
||||
public String getName() {
|
||||
return "identityName";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get's the calling Identities Manager Object
|
||||
* @return The manager's Identity Object
|
||||
*/
|
||||
public Identity getManager() {
|
||||
return new Identity();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get true/false if the Identity is a manager
|
||||
* @return true/false is the Identity a manager
|
||||
*/
|
||||
public boolean getManagerStatus() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of links that the Identity is connected to
|
||||
* @return List of Link Objects
|
||||
*/
|
||||
public List<Link> getLinks() {
|
||||
return new ArrayList<Link>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of Bundle Objects of the assigned Roles of the Identity
|
||||
* @return List of Bundle Objects
|
||||
*/
|
||||
public List<Bundle> getAssignedRoles() {
|
||||
return new List<Bundle>();
|
||||
}
|
||||
|
||||
|
||||
public List<Bundle> getBundles() {
|
||||
return new List<Bundle>();
|
||||
}
|
||||
|
||||
public Attributes<String, Object> getAttributes() {
|
||||
return new Attributes<String, Object>();
|
||||
}
|
||||
|
||||
|
||||
public boolean isCorrelated() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the first name of the Identity
|
||||
* @return the first name as a String
|
||||
*/
|
||||
public String getFirstname() {
|
||||
return "name";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last name of the Identity
|
||||
* @return the last name as a String
|
||||
*/
|
||||
public String getLastname() {
|
||||
return "name";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the full name of the Identity
|
||||
* @return the full name as a String
|
||||
*/
|
||||
public String getFullName() {
|
||||
return "fullName";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the display name of the Identity
|
||||
* @return the display name as a String
|
||||
*/
|
||||
public String getDisplayName() {
|
||||
return "displayName";
|
||||
}
|
||||
|
||||
public String getDisplayableName() {
|
||||
return "displayableName";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the email of the Identity
|
||||
* @return the email as a String
|
||||
*/
|
||||
public String getEmail() {
|
||||
return "email";
|
||||
}
|
||||
|
||||
public boolean isInactive() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attribute value given the name of the attribute
|
||||
* @param name The name of the attribute to get on an Identity.
|
||||
* Examples include: manager, administrator, bundles, assignedRoles, capabilities, rights, workgroups, managerStatus, lastRefresh, correlated
|
||||
* @return the attribute Object
|
||||
*/
|
||||
public Object getAttribute(String name) {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attribute value as a string given the name of the attribute on the Identity.
|
||||
* @param name
|
||||
* @return the attribute value as a string
|
||||
*/
|
||||
public String getStringAttribute(String name) {
|
||||
return "attributeValue";
|
||||
}
|
||||
|
||||
|
||||
public Link getLink(Application res) {
|
||||
return new Link();
|
||||
}
|
||||
|
||||
public Bundle getAssignedRole(String id) {
|
||||
return new Bundle();
|
||||
}
|
||||
public List<RoleAssignment> getRoleAssignments() {
|
||||
return new List<RoleAssignment>();
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return "type";
|
||||
}
|
||||
}
|
||||
39
rule-java-docs/src/sailpoint/object/IntegrationConfig.java
Normal file
39
rule-java-docs/src/sailpoint/object/IntegrationConfig.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package sailpoint.object;
|
||||
|
||||
/**
|
||||
* The target integration application object that references this before/after rule.
|
||||
*/
|
||||
public class IntegrationConfig {
|
||||
public static final String EXEC_STYLE_REQUEST = "request";
|
||||
public static final String EXEC_STYLE_SYNCHRONOUS = "synchronous";
|
||||
public static final String ATT_HOST = "host";
|
||||
public static final String ATT_URL = "url";
|
||||
public static final String ATT_USERNAME = "username";
|
||||
public static final String ATT_NAME = "name";
|
||||
public static final String ATT_PASSWORD = "password";
|
||||
public static final String ATT_PASSWORD_CONFIRM = "passwordConfirm";
|
||||
public static final String ATT_ROLE_SYNC_HISTORY = "roleSyncHistory";
|
||||
public static final String ROLE_SYNC_STYLE_NONE = "none";
|
||||
public static final String ROLE_SYNC_STYLE_DETECTABLE = "detectable";
|
||||
public static final String ROLE_SYNC_STYLE_ASSIGNABLE = "assignable";
|
||||
public static final String ROLE_SYNC_STYLE_DUAL = "dual";
|
||||
public static final String ATT_UNIVERSAL_MANAGER = "universalManager";
|
||||
public static final String ATT_OPERATIONS = "operations";
|
||||
public static final String OP_SET_PASSWORD = "SetPassword";
|
||||
public static final String ATT_NO_PROVISIONING_REQUESTS = "noProvisioningRequests";
|
||||
public static final String ATT_PROVISIONING_REQUEST_EXPIRATION = "provisioningRequestExpiration";
|
||||
public static final String ATT_NO_PERMISSIONS = "noPermissions";
|
||||
public static final String ATT_NO_GROUP_PERMISSIONS = "noGroupPermissions";
|
||||
public static final String ATT_GROUP_PROVISIONING = "groupProvisioning";
|
||||
public static final String ATT_SCHEMA_PROVISIONING_MAP = "schemaProvisioningMap";
|
||||
public static final String ATT_STATUS_SUCCESS_IS_COMMITTED = "statusSuccessIsCommitted";
|
||||
|
||||
public Object getAttribute(String name) {
|
||||
return new Object();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "name";
|
||||
}
|
||||
|
||||
}
|
||||
132
rule-java-docs/src/sailpoint/object/Link.java
Normal file
132
rule-java-docs/src/sailpoint/object/Link.java
Normal file
@@ -0,0 +1,132 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* The Link class is a reference to a single account within an application (Source)
|
||||
*/
|
||||
public class Link {
|
||||
Application _application;
|
||||
Identity _identity;
|
||||
String _nativeIdentity;
|
||||
Attributes<String, Object> _attributes;
|
||||
String _displayName;
|
||||
|
||||
|
||||
/**
|
||||
* Get the application that this link references
|
||||
* @return the application object
|
||||
*/
|
||||
public Application getApplication() {
|
||||
return this._application;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the application name that this link references
|
||||
* @return the application name
|
||||
*/
|
||||
public String getApplicationName() {
|
||||
return this.getApplication() != null ? this.getApplication().getName() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the application id that this link references
|
||||
* @return
|
||||
*/
|
||||
public String getApplicationId() {
|
||||
return this.getApplication() != null ? this.getApplication().getId() : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the Identity object that this link references
|
||||
* @return the Identity tied to this link
|
||||
*/
|
||||
public Identity getIdentity() {
|
||||
return this._identity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Entitlement Attributes of the link
|
||||
* @return the attributes of the entitlement
|
||||
*/
|
||||
public Attributes getEntitlementAttributes() {
|
||||
try {
|
||||
Attributes attrs = new Attributes();
|
||||
Schema schema = null;
|
||||
if (this._application != null) {
|
||||
schema = this._application.getSchema("account");
|
||||
}
|
||||
|
||||
if (null != this._attributes && null != schema && null != schema.getEntitlementAttributeNames()) {
|
||||
Iterator var3 = schema.getEntitlementAttributeNames().iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
String attrName = (String)var3.next();
|
||||
Object val = this._attributes.get(attrName);
|
||||
if (null != val) {
|
||||
attrs.put(attrName, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return attrs;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the string value of the link's native identity.
|
||||
* @return the native identity
|
||||
*/
|
||||
public String getNativeIdentity() {
|
||||
return this._nativeIdentity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of entitlements for the account link
|
||||
* @param locale
|
||||
* @param attributeFilter
|
||||
* @return a list of entitlements
|
||||
* @throws GeneralException
|
||||
*/
|
||||
public List<Entitlement> getEntitlements(Locale locale, String attributeFilter) throws GeneralException {
|
||||
return Entitlement.getAccountEntitlements(locale, this, attributeFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a single attribute of the account link
|
||||
* @param name the name of the attribute to retrieve
|
||||
* @return the given attributes value
|
||||
*/
|
||||
public Object getAttribute(String name) {
|
||||
return this._attributes != null ? this._attributes.get(name) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attributes of the account link
|
||||
* @return the attributes of the linked account
|
||||
*/
|
||||
public Attributes<String, Object> getAttributes() {
|
||||
return this._attributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the display name of the account link
|
||||
* @return the display name, if the display name is null return the native identity
|
||||
*/
|
||||
public String getDisplayableName() {
|
||||
return this._displayName != null && this._displayName.trim().length() > 0 ? this._displayName : this._nativeIdentity;
|
||||
}
|
||||
|
||||
/**
|
||||
* A true or false value if the account is disabled
|
||||
* @return true or false if the account is disabled
|
||||
*/
|
||||
public boolean isDisabled() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
353
rule-java-docs/src/sailpoint/object/ManagedAttribute.java
Normal file
353
rule-java-docs/src/sailpoint/object/ManagedAttribute.java
Normal file
@@ -0,0 +1,353 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.TimeZone;
|
||||
import java.util.Map.Entry;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.JoinPoint.StaticPart;
|
||||
import org.aspectj.runtime.internal.Conversions;
|
||||
import org.aspectj.runtime.reflect.Factory;
|
||||
import sailpoint.tools.GeneralException;
|
||||
import sailpoint.tools.Index;
|
||||
import sailpoint.tools.Indexes;
|
||||
import sailpoint.tools.Localizable;
|
||||
import sailpoint.tools.Message;
|
||||
import sailpoint.tools.TracingAspect;
|
||||
import sailpoint.tools.Util;
|
||||
import sailpoint.tools.xml.SerializationMode;
|
||||
import sailpoint.tools.xml.XMLClass;
|
||||
import sailpoint.tools.xml.XMLProperty;
|
||||
|
||||
public class ManagedAttribute implements Cloneable {
|
||||
private static final long serialVersionUID = -5357171423090984917L;
|
||||
/** @deprecated */
|
||||
@Deprecated
|
||||
public static final String OLD_PERMISSION_ATTRIBUTE = "-";
|
||||
private static final String[] UNIQUE_KEY_PROPERTIES;
|
||||
public static final String CONFIG_DEFAULT_LANG = "defaultLanguage";
|
||||
public static final String CONFIG_LANGUAGES = "languages";
|
||||
public static final String[] SYSTEM_ATTRIBUTES;
|
||||
public static final String PROV_ATTRIBUTE = "sysAttribute";
|
||||
public static final String PROV_DISPLAY_NAME = "sysDisplayName";
|
||||
public static final String PROV_DESCRIPTIONS = "sysDescriptions";
|
||||
public static final String PROV_REQUESTABLE = "sysRequestable";
|
||||
public static final String PROV_OWNER = "sysOwner";
|
||||
public static final String PROV_SCOPE = "sysScope";
|
||||
public static final String PROV_MANAGED_ATTRIBUTE_TYPE = "sysManagedAttributeType";
|
||||
public static final String PROV_CLASSIFICATIONS = "sysClassifications";
|
||||
public static final String[] PROV_ATTRIBUTES;
|
||||
private static Map SystemAttributeMap;
|
||||
private static CacheReference objectConfig;
|
||||
/** @deprecated */
|
||||
@Deprecated
|
||||
private String _purview;
|
||||
private Application _application;
|
||||
private String _type;
|
||||
private String _attribute;
|
||||
private String _value;
|
||||
private String _hash;
|
||||
private String _displayName;
|
||||
private String _uuid;
|
||||
Attributes<String, Object> _attributes;
|
||||
boolean _requestable;
|
||||
private List<Permission> _permissions;
|
||||
private List<Permission> _targetPermissions;
|
||||
private Date _lastRefresh;
|
||||
Date _lastTargetAggregation;
|
||||
private boolean _uncorrelated;
|
||||
private List<ManagedAttribute> _inheritance;
|
||||
private boolean _aggregated;
|
||||
private List<TargetAssociation> _associations;
|
||||
String _key1;
|
||||
String _key2;
|
||||
String _key3;
|
||||
String _key4;
|
||||
public static final Comparator<ManagedAttribute> SP_ACCOUNTGROUP_BY_NAME;
|
||||
public static final Comparator<ManagedAttribute> SP_ACCOUNTGROUP_BY_NATIVE_IDENTITY;
|
||||
public static final Comparator<ManagedAttribute> SP_ACCOUNTGROUP_BY_OWNER;
|
||||
public static final Comparator<ManagedAttribute> SP_ACCOUNTGROUP_BY_MODIFIED;
|
||||
|
||||
|
||||
public ManagedAttribute() {
|
||||
}
|
||||
|
||||
public Application getApplication() {
|
||||
|
||||
try {
|
||||
Application var2;
|
||||
Application var3 = var2 = this._application;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
@XMLProperty
|
||||
public String getType() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._type;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getAttribute() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._attribute;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._displayName;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getDisplayableName() {
|
||||
|
||||
try {
|
||||
String displayableName;
|
||||
if (ManagedAttribute.Type.Permission.name().equals(this._type)) {
|
||||
displayableName = this._attribute;
|
||||
} else {
|
||||
displayableName = this._value;
|
||||
}
|
||||
|
||||
if (this._displayName != null && this._displayName.trim().length() != 0) {
|
||||
displayableName = this._displayName;
|
||||
}
|
||||
|
||||
return displayableName;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public Attributes<String, Object> getAttributes() {
|
||||
|
||||
try {
|
||||
Attributes var2;
|
||||
Attributes var3 = var2 = this._attributes;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public Object getAttribute(String name) {
|
||||
|
||||
try {
|
||||
Object var10000 = this._attributes != null ? this._attributes.get(name) : null;
|
||||
Object var4 = var10000;
|
||||
Object var5 = var10000;
|
||||
return var4;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
public String getApplicationId() {
|
||||
|
||||
try {
|
||||
String var10000 = this._application != null ? this._application.getId() : null;
|
||||
String var2 = var10000;
|
||||
String var3 = var10000;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public Object get(String name) {
|
||||
|
||||
try {
|
||||
Object var10000 = this._attributes != null ? this._attributes.get(name) : null;
|
||||
Object var4 = var10000;
|
||||
Object var5 = var10000;
|
||||
return var4;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
public void put(String name, Object value) {
|
||||
|
||||
try {
|
||||
if (name != null) {
|
||||
if (value == null) {
|
||||
if (this._attributes != null) {
|
||||
this._attributes.remove(name);
|
||||
}
|
||||
} else {
|
||||
if (this._attributes == null) {
|
||||
this._attributes = new Attributes();
|
||||
}
|
||||
|
||||
this._attributes.put(name, value);
|
||||
}
|
||||
}
|
||||
|
||||
Object var6 = null;
|
||||
} catch (Throwable var8) {
|
||||
throw var8;
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, String> getDescriptions() {
|
||||
|
||||
try {
|
||||
Map map = null;
|
||||
Object o = this.get("sysDescriptions");
|
||||
if (o instanceof Map) {
|
||||
map = (Map)o;
|
||||
}
|
||||
|
||||
return map;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String toString() {
|
||||
String t = this._type != null ? this._type : ManagedAttribute.Type.Entitlement.name();
|
||||
return t.toString() + "/" + this._attribute + "/" + this._value;
|
||||
}
|
||||
|
||||
static {
|
||||
try {
|
||||
UNIQUE_KEY_PROPERTIES = new String[]{"application", "type", "attribute", "value"};
|
||||
SYSTEM_ATTRIBUTES = new String[]{"sysDescriptions"};
|
||||
PROV_ATTRIBUTES = new String[]{"sysAttribute", "sysDisplayName", "sysDescriptions", "sysRequestable", "sysOwner", "sysScope", "sysManagedAttributeType", "sysClassifications"};
|
||||
SP_ACCOUNTGROUP_BY_NAME = new Comparator<ManagedAttribute>() {
|
||||
public int compare(ManagedAttribute ag1, ManagedAttribute ag2) {
|
||||
Collator collator = Collator.getInstance();
|
||||
collator.setStrength(0);
|
||||
return collator.compare(ag1.getDisplayableName(), ag2.getDisplayableName());
|
||||
}
|
||||
};
|
||||
SP_ACCOUNTGROUP_BY_NATIVE_IDENTITY = new Comparator<ManagedAttribute>() {
|
||||
public int compare(ManagedAttribute ag1, ManagedAttribute ag2) {
|
||||
Collator collator = Collator.getInstance();
|
||||
collator.setStrength(0);
|
||||
return collator.compare(ag1.getValue(), ag2.getValue());
|
||||
}
|
||||
};
|
||||
SP_ACCOUNTGROUP_BY_OWNER = new Comparator<ManagedAttribute>() {
|
||||
public int compare(ManagedAttribute ag1, ManagedAttribute ag2) {
|
||||
Collator collator = Collator.getInstance();
|
||||
collator.setStrength(0);
|
||||
Identity owner1Id = ag1.getOwner();
|
||||
Identity owner2Id = ag2.getOwner();
|
||||
String owner1 = owner1Id != null ? owner1Id.getName() : "";
|
||||
String owner2 = owner2Id != null ? owner1Id.getName() : "";
|
||||
return collator.compare(owner1, owner2);
|
||||
}
|
||||
};
|
||||
SP_ACCOUNTGROUP_BY_MODIFIED = new Comparator<ManagedAttribute>() {
|
||||
public int compare(ManagedAttribute ag1, ManagedAttribute ag2) {
|
||||
Date date1 = ag1.getModified();
|
||||
if (date1 == null) {
|
||||
date1 = new Date();
|
||||
}
|
||||
|
||||
Date date2 = ag2.getModified();
|
||||
if (date2 == null) {
|
||||
date2 = new Date();
|
||||
}
|
||||
|
||||
return date1.compareTo(date2);
|
||||
}
|
||||
};
|
||||
} catch (Throwable var1) {
|
||||
if (var1 instanceof ExceptionInInitializerError) {
|
||||
throw (ExceptionInInitializerError)var1;
|
||||
}
|
||||
|
||||
throw var1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static enum Type implements Localizable {
|
||||
Entitlement,
|
||||
Permission,
|
||||
TargetPermission;
|
||||
|
||||
private String messageKey;
|
||||
|
||||
private Type(String messageKey) {
|
||||
Object[] var5 = new Object[]{var1, Conversions.intObject(var2), messageKey};
|
||||
|
||||
try {
|
||||
this.messageKey = messageKey;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessageKey() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.messageKey;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getLocalizedMessage() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.getLocalizedMessage(Locale.getDefault(), TimeZone.getDefault());
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static {
|
||||
try {
|
||||
Entitlement = new ManagedAttribute.Type("Entitlement", 0, "explanation_type_entitlement");
|
||||
Permission = new ManagedAttribute.Type("Permission", 1, "explanation_type_permission");
|
||||
TargetPermission = new ManagedAttribute.Type("TargetPermission", 2, "explanation_type_target_permission");
|
||||
} catch (Throwable var1) {
|
||||
if (var1 instanceof ExceptionInInitializerError) {
|
||||
throw (ExceptionInInitializerError)var1;
|
||||
}
|
||||
|
||||
throw var1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
877
rule-java-docs/src/sailpoint/object/ProvisioningPlan.java
Normal file
877
rule-java-docs/src/sailpoint/object/ProvisioningPlan.java
Normal file
@@ -0,0 +1,877 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package sailpoint.object;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.JoinPoint.StaticPart;
|
||||
import org.aspectj.runtime.internal.Conversions;
|
||||
import org.aspectj.runtime.reflect.Factory;
|
||||
import sailpoint.api.SailPointContext;
|
||||
import sailpoint.tools.GeneralException;
|
||||
import sailpoint.tools.Message;
|
||||
import sailpoint.tools.TracingAspect;
|
||||
import sailpoint.tools.Util;
|
||||
import sailpoint.tools.xml.AbstractXmlObject;
|
||||
import sailpoint.tools.xml.SerializationMode;
|
||||
import sailpoint.tools.xml.XMLClass;
|
||||
import sailpoint.tools.xml.XMLObjectFactory;
|
||||
import sailpoint.tools.xml.XMLProperty;
|
||||
import sailpoint.tools.xml.XMLReferenceResolver;
|
||||
|
||||
@XMLClass
|
||||
public class ProvisioningPlan extends AbstractXmlObject {
|
||||
public static final String APP_IIQ = "IIQ";
|
||||
public static final String IIQ_APPLICATION_NAME = "IdentityIQ";
|
||||
/** @deprecated */
|
||||
@Deprecated
|
||||
public static final String ATT_IIQ_PASSWORD = "password";
|
||||
public static Object ATT_ASSIGNED_SCOPE;
|
||||
public static final String ATT_OP = "op";
|
||||
public static final String ATT_OBJECT_APPLICATION = "application";
|
||||
public static final String ATT_OBJECT_ATTRIBUTES = "attributes";
|
||||
public static final String ATT_OBJECT_ARGUMENTS = "args";
|
||||
public static final String ATT_ATTRIBUTE_NAME = "name";
|
||||
public static final String ATT_PERMISSION_TARGET = "target";
|
||||
public static final String ATT_PERMISSION_RIGHTS = "rights";
|
||||
public static final String ATT_REQUEST_ARGUMENTS = "args";
|
||||
Identity _identity;
|
||||
String _nativeIdentity;
|
||||
List<ProvisioningPlan.AccountRequest> _accounts;
|
||||
List<ProvisioningPlan.ObjectRequest> _objectRequests;
|
||||
Attributes<String, Object> _arguments;
|
||||
String _trackingId;
|
||||
List<Identity> _requesters;
|
||||
List<ProvisioningTarget> _provisioningTargets;
|
||||
List<ProvisioningPlan.AbstractRequest> _filtered;
|
||||
List<Question> _questionHistory;
|
||||
String _targetIntegration;
|
||||
ProvisioningResult _result;
|
||||
boolean _provisioned;
|
||||
long _maintenanceExpiration;
|
||||
|
||||
public ProvisioningPlan() {
|
||||
}
|
||||
|
||||
public void add(ProvisioningPlan.AccountRequest account) {
|
||||
|
||||
try {
|
||||
if (account != null) {
|
||||
if (this._accounts == null) {
|
||||
this._accounts = new ArrayList();
|
||||
}
|
||||
|
||||
this._accounts.add(account);
|
||||
}
|
||||
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void remove(ProvisioningPlan.AccountRequest account) {
|
||||
|
||||
try {
|
||||
if (account != null && this._accounts != null) {
|
||||
this._accounts.remove(account);
|
||||
}
|
||||
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void addRequest(ProvisioningPlan.AbstractRequest req) {
|
||||
|
||||
try {
|
||||
if (req instanceof ProvisioningPlan.AccountRequest) {
|
||||
this.add((ProvisioningPlan.AccountRequest)req);
|
||||
} else if (req instanceof ProvisioningPlan.ObjectRequest) {
|
||||
this.addObjectRequest((ProvisioningPlan.ObjectRequest)req);
|
||||
}
|
||||
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void setAccountRequests(List<ProvisioningPlan.AccountRequest> reqs) {
|
||||
|
||||
try {
|
||||
this._accounts = reqs;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public List<ProvisioningPlan.AccountRequest> getAccountRequests() {
|
||||
|
||||
try {
|
||||
List var2;
|
||||
List var3 = var2 = this._accounts;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public boolean isEmpty() {
|
||||
|
||||
try {
|
||||
boolean var2;
|
||||
boolean var3 = var2 = this.isEmpty(this._accounts) && this.isEmpty(this._objectRequests);
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public List<Identity> getRequesters() {
|
||||
|
||||
try {
|
||||
List var2;
|
||||
List var3 = var2 = this._requesters;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getComments() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.getString("comments");
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setComments(String c) {
|
||||
|
||||
try {
|
||||
this.put("comments", c);
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.getString("source");
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public Identity getIdentity() {
|
||||
|
||||
try {
|
||||
Identity var2;
|
||||
Identity var3 = var2 = this._identity;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getNativeIdentity() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._nativeIdentity;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setNativeIdentity(String s) {
|
||||
|
||||
try {
|
||||
this._nativeIdentity = s;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public Attributes<String, Object> getArguments() {
|
||||
|
||||
try {
|
||||
Attributes var2;
|
||||
Attributes var3 = var2 = this._arguments;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setArguments(Attributes<String, Object> atts) {
|
||||
|
||||
try {
|
||||
this._arguments = atts;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void setTargetIntegration(String name) {
|
||||
|
||||
try {
|
||||
this._targetIntegration = name;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void setResult(ProvisioningResult r) {
|
||||
|
||||
try {
|
||||
this._result = r;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AccountRequest add(String appname, String identity, ProvisioningPlan.AccountRequest.Operation op) {
|
||||
Object[] var6 = new Object[]{appname, identity, op};
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest account = null;
|
||||
if (appname != null && identity != null) {
|
||||
account = new ProvisioningPlan.AccountRequest();
|
||||
account.setApplication(appname);
|
||||
account.setNativeIdentity(identity);
|
||||
account.setOperation(op);
|
||||
this.add(account);
|
||||
}
|
||||
|
||||
return account;
|
||||
} catch (Throwable var13) {
|
||||
throw var13;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AccountRequest add(String appname, String nativeIdentity, String attname, ProvisioningPlan.Operation op, Object value) {
|
||||
Object[] var9 = new Object[]{appname, nativeIdentity, attname, op, value};
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest account = null;
|
||||
if (appname != null && attname != null) {
|
||||
account = this.getAccountRequest(appname, (String)null, nativeIdentity);
|
||||
if (account == null) {
|
||||
account = new ProvisioningPlan.AccountRequest();
|
||||
account.setApplication(appname);
|
||||
account.setNativeIdentity(nativeIdentity);
|
||||
this.add(account);
|
||||
}
|
||||
|
||||
ProvisioningPlan.AttributeRequest att = new ProvisioningPlan.AttributeRequest();
|
||||
att.setName(attname);
|
||||
att.setOperation(op);
|
||||
att.setValue(value);
|
||||
account.add(att);
|
||||
}
|
||||
|
||||
return account;
|
||||
} catch (Throwable var18) {
|
||||
throw var18;
|
||||
}
|
||||
}
|
||||
|
||||
public void put(String name, Object value) {
|
||||
|
||||
try {
|
||||
if (name != null) {
|
||||
if (this._arguments == null) {
|
||||
this._arguments = new Attributes();
|
||||
}
|
||||
|
||||
this._arguments.putClean(name, value);
|
||||
}
|
||||
|
||||
Object var6 = null;
|
||||
} catch (Throwable var8) {
|
||||
throw var8;
|
||||
}
|
||||
}
|
||||
|
||||
public Object get(String name) {
|
||||
|
||||
try {
|
||||
Object var10000 = this._arguments != null ? this._arguments.get(name) : null;
|
||||
Object var4 = var10000;
|
||||
Object var5 = var10000;
|
||||
return var4;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
public List<ProvisioningPlan.AccountRequest> getAccountRequests(String appname) {
|
||||
|
||||
try {
|
||||
List reqs = new ArrayList();
|
||||
if (this._accounts != null && appname != null) {
|
||||
Iterator var3 = this._accounts.iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
ProvisioningPlan.AccountRequest req = (ProvisioningPlan.AccountRequest)var3.next();
|
||||
if (appname.equals(req.getApplication())) {
|
||||
reqs.add(req);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return reqs;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public List<ProvisioningPlan.AccountRequest> getAccountRequests(String appname, String nativeIdentity) {
|
||||
|
||||
try {
|
||||
List requests = new ArrayList();
|
||||
Iterator var4 = Util.iterate(this._accounts).iterator();
|
||||
|
||||
while(true) {
|
||||
ProvisioningPlan.AccountRequest request;
|
||||
do {
|
||||
do {
|
||||
if (!var4.hasNext()) {
|
||||
return requests;
|
||||
}
|
||||
|
||||
request = (ProvisioningPlan.AccountRequest)var4.next();
|
||||
} while(!Util.nullSafeEq(appname, request.getApplication()));
|
||||
} while(!Util.isNullOrEmpty(nativeIdentity) && !Util.nullSafeEq(nativeIdentity, request.getNativeIdentity()));
|
||||
|
||||
requests.add(request);
|
||||
}
|
||||
} catch (Throwable var12) {
|
||||
throw var12;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AccountRequest getAccountRequest(String appname, String instance, String nativeIdentity) {
|
||||
Object[] var5 = new Object[]{appname, instance, nativeIdentity};
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest var9;
|
||||
ProvisioningPlan.AccountRequest var10 = var9 = this.getAccountRequest(appname, instance, nativeIdentity, false);
|
||||
return var9;
|
||||
} catch (Throwable var12) {
|
||||
throw var12;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private ProvisioningPlan.AccountRequest getAccountRequest(String appname, String instance, String nativeIdentity, boolean onlyAppName) {
|
||||
Object[] var9 = new Object[]{appname, instance, nativeIdentity, Conversions.booleanObject(onlyAppName)};
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest found = null;
|
||||
if (this._accounts != null && appname != null) {
|
||||
label40: {
|
||||
Iterator var6 = this._accounts.iterator();
|
||||
|
||||
ProvisioningPlan.AccountRequest req;
|
||||
do {
|
||||
do {
|
||||
if (!var6.hasNext()) {
|
||||
break label40;
|
||||
}
|
||||
|
||||
req = (ProvisioningPlan.AccountRequest)var6.next();
|
||||
} while(!appname.equals(req.getApplication()));
|
||||
} while(!onlyAppName && (!Util.nullSafeEq(req.getInstance(), instance, true) || !Util.nullSafeEq(req.getNativeIdentity(), nativeIdentity, true)));
|
||||
|
||||
found = req;
|
||||
}
|
||||
}
|
||||
|
||||
return found;
|
||||
} catch (Throwable var17) {
|
||||
throw var17;
|
||||
}
|
||||
}
|
||||
|
||||
public Map toMap() {
|
||||
|
||||
try {
|
||||
Map map = new HashMap();
|
||||
if (this._nativeIdentity != null) {
|
||||
map.put("identity", this._nativeIdentity);
|
||||
}
|
||||
|
||||
ArrayList list;
|
||||
Iterator var3;
|
||||
Map rmap;
|
||||
if (this._accounts != null) {
|
||||
list = new ArrayList();
|
||||
var3 = this._accounts.iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
ProvisioningPlan.AccountRequest req = (ProvisioningPlan.AccountRequest)var3.next();
|
||||
rmap = req.toMap();
|
||||
if (rmap != null) {
|
||||
list.add(rmap);
|
||||
}
|
||||
}
|
||||
|
||||
map.put("accounts", list);
|
||||
}
|
||||
|
||||
if (this._objectRequests != null) {
|
||||
list = new ArrayList();
|
||||
var3 = this._objectRequests.iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
ProvisioningPlan.ObjectRequest req = (ProvisioningPlan.ObjectRequest)var3.next();
|
||||
rmap = req.toMap();
|
||||
if (rmap != null) {
|
||||
list.add(rmap);
|
||||
}
|
||||
}
|
||||
|
||||
map.put("objects", list);
|
||||
}
|
||||
|
||||
if (this._arguments != null) {
|
||||
map.put("args", this._arguments);
|
||||
}
|
||||
|
||||
if (this._result != null) {
|
||||
map.put("result", this._result.toMap());
|
||||
}
|
||||
|
||||
return map;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public static void removeAll(List list, List values, boolean nocase) {
|
||||
Object[] var6 = new Object[]{list, values, Conversions.booleanObject(nocase)};
|
||||
|
||||
try {
|
||||
if (list == values) {
|
||||
list.clear();
|
||||
} else if (nocase) {
|
||||
Iterator var3 = values.iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
Object o = var3.next();
|
||||
remove(list, o, nocase);
|
||||
}
|
||||
} else {
|
||||
list.removeAll(values);
|
||||
}
|
||||
|
||||
Object var10 = null;
|
||||
} catch (Throwable var12) {
|
||||
throw var12;
|
||||
}
|
||||
}
|
||||
|
||||
public static class AttributeRequest extends ProvisioningPlan.GenericRequest {
|
||||
|
||||
public AttributeRequest() {
|
||||
|
||||
}
|
||||
|
||||
public AttributeRequest(Map map) {
|
||||
|
||||
try {
|
||||
this.fromMap(map);
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public AttributeRequest(String name, Object value) {
|
||||
|
||||
try {
|
||||
this._name = name;
|
||||
this._value = value;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
public AttributeRequest(String name, ProvisioningPlan.Operation op, Object value) {
|
||||
Object[] var5 = new Object[]{name, op, value};
|
||||
|
||||
try {
|
||||
this._name = name;
|
||||
this._op = op;
|
||||
this._value = value;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public AttributeRequest(String name, ProvisioningPlan.Operation op, Object value, String assignmentId) {
|
||||
this(name, op, value);
|
||||
Object[] var6 = new Object[]{name, op, value, assignmentId};
|
||||
|
||||
try {
|
||||
this._assignmentId = assignmentId;
|
||||
} catch (Throwable var12) {
|
||||
throw var12;
|
||||
}
|
||||
}
|
||||
|
||||
public AttributeRequest(ProvisioningPlan.AttributeRequest src) {
|
||||
super(src);
|
||||
|
||||
}
|
||||
|
||||
public ProvisioningPlan.GenericRequest instantiate() {
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AttributeRequest var2;
|
||||
ProvisioningPlan.AttributeRequest var3 = var2 = new ProvisioningPlan.AttributeRequest();
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSecret() {
|
||||
|
||||
try {
|
||||
boolean secret = false;
|
||||
boolean declaredSecret = this.getBoolean("secret");
|
||||
boolean appearsSecret = ProvisioningPlan.isSecret(this.getName());
|
||||
secret = appearsSecret || declaredSecret;
|
||||
return secret;
|
||||
} catch (Throwable var8) {
|
||||
throw var8;
|
||||
}
|
||||
}
|
||||
|
||||
public Object getValue(SailPointContext ctx) throws GeneralException {
|
||||
|
||||
try {
|
||||
Object var10000;
|
||||
Object var5;
|
||||
if (this._value != null && this._value instanceof Reference) {
|
||||
Reference ref = (Reference)this._value;
|
||||
var10000 = var5 = ctx.getReferencedObject(ref.getClassName(), ref.getId(), ref.getName());
|
||||
} else {
|
||||
var10000 = var5 = this._value;
|
||||
}
|
||||
|
||||
Object var6 = var10000;
|
||||
return var5;
|
||||
} catch (Throwable var8) {
|
||||
throw var8;
|
||||
}
|
||||
}
|
||||
|
||||
public Map toMap() {
|
||||
|
||||
try {
|
||||
Map map = new HashMap();
|
||||
map.put("name", this._name);
|
||||
map.put("value", this._value);
|
||||
if (this._op != null) {
|
||||
map.put("op", this._op.toString());
|
||||
}
|
||||
|
||||
if (this._arguments != null) {
|
||||
map.put("args", this._arguments);
|
||||
}
|
||||
|
||||
if (this._result != null) {
|
||||
map.put("result", this._result.toMap());
|
||||
}
|
||||
|
||||
return map;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public void fromMap(Map map) {
|
||||
|
||||
try {
|
||||
this._name = Util.getString(map, "name");
|
||||
this._value = map.get("value");
|
||||
Object o = map.get("op");
|
||||
if (o != null) {
|
||||
this._op = (ProvisioningPlan.Operation)Enum.valueOf(ProvisioningPlan.Operation.class, o.toString());
|
||||
}
|
||||
|
||||
o = map.get("args");
|
||||
if (o instanceof Map) {
|
||||
this._arguments = new Attributes();
|
||||
this._arguments.putAll((Map)o);
|
||||
}
|
||||
|
||||
o = map.get("result");
|
||||
if (o instanceof Map) {
|
||||
this._result = new ProvisioningResult((Map)o);
|
||||
}
|
||||
|
||||
Object var5 = null;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static enum Operation {
|
||||
Set,
|
||||
Add,
|
||||
Remove,
|
||||
Revoke,
|
||||
Retain;
|
||||
|
||||
private String messageKey;
|
||||
|
||||
private Operation(String messageKey) {
|
||||
Object[] var5 = new Object[]{var1, Conversions.intObject(var2), messageKey};
|
||||
|
||||
try {
|
||||
this.messageKey = messageKey;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessageKey() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.messageKey;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
|
||||
try {
|
||||
Set = new ProvisioningPlan.Operation("Set", 0, "provisioning_plan_op_set");
|
||||
Add = new ProvisioningPlan.Operation("Add", 1, "provisioning_plan_op_add");
|
||||
Remove = new ProvisioningPlan.Operation("Remove", 2, "provisioning_plan_op_remove");
|
||||
Revoke = new ProvisioningPlan.Operation("Revoke", 3, "provisioning_plan_op_revoke");
|
||||
Retain = new ProvisioningPlan.Operation("Retain", 4, "provisioning_plan_op_retain");
|
||||
} catch (Throwable var1) {
|
||||
if (var1 instanceof ExceptionInInitializerError) {
|
||||
throw (ExceptionInInitializerError)var1;
|
||||
}
|
||||
|
||||
throw var1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static class AccountRequest extends ProvisioningPlan.AbstractRequest {
|
||||
public static final String TYPE_ROLE = "role";
|
||||
public static final String TYPE_ENTITLEMENT = "entitlement";
|
||||
public static final String ATTACHMENTS = "attachments";
|
||||
public static final String ATTACHMENT_CONFIG_LIST = "attachmentConfigList";
|
||||
boolean _roleExpansion;
|
||||
|
||||
public AccountRequest() {
|
||||
}
|
||||
|
||||
public AccountRequest(Map map) {
|
||||
super(map);
|
||||
}
|
||||
|
||||
public AccountRequest(ProvisioningPlan.AccountRequest src) {
|
||||
super((ProvisioningPlan.AbstractRequest)src);
|
||||
}
|
||||
|
||||
public AccountRequest(ProvisioningPlan.AccountRequest.Operation op, String app, String inst, String id) {
|
||||
Object[] var6 = new Object[]{op, app, inst, id};
|
||||
|
||||
try {
|
||||
this.setOperation(op);
|
||||
this.setApplication(app);
|
||||
this.setInstance(inst);
|
||||
this.setNativeIdentity(id);
|
||||
} catch (Throwable var12) {
|
||||
throw var12;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AbstractRequest instantiate() {
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest var2;
|
||||
ProvisioningPlan.AccountRequest var3 = var2 = new ProvisioningPlan.AccountRequest();
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AccountRequest clone() {
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest var2;
|
||||
ProvisioningPlan.AccountRequest var3 = var2 = new ProvisioningPlan.AccountRequest(this);
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setOperation(ProvisioningPlan.AccountRequest.Operation op) {
|
||||
|
||||
try {
|
||||
if (op != null) {
|
||||
this.setOp((ProvisioningPlan.ObjectOperation)Enum.valueOf(ProvisioningPlan.ObjectOperation.class, op.toString()));
|
||||
}
|
||||
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public ProvisioningPlan.AccountRequest.Operation getOperation() {
|
||||
|
||||
try {
|
||||
ProvisioningPlan.AccountRequest.Operation op = null;
|
||||
ProvisioningPlan.ObjectOperation oop = this.getOp();
|
||||
if (oop != null) {
|
||||
op = (ProvisioningPlan.AccountRequest.Operation)Enum.valueOf(ProvisioningPlan.AccountRequest.Operation.class, oop.toString());
|
||||
}
|
||||
|
||||
return op;
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
public static enum Operation {
|
||||
Create,
|
||||
Modify,
|
||||
Delete,
|
||||
Disable,
|
||||
Enable,
|
||||
Unlock,
|
||||
Lock;
|
||||
|
||||
private Operation() {
|
||||
|
||||
try {
|
||||
} catch (Throwable var7) {
|
||||
throw var7;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
|
||||
try {
|
||||
Create = new ProvisioningPlan.AccountRequest.Operation("Create", 0);
|
||||
Modify = new ProvisioningPlan.AccountRequest.Operation("Modify", 1);
|
||||
Delete = new ProvisioningPlan.AccountRequest.Operation("Delete", 2);
|
||||
Disable = new ProvisioningPlan.AccountRequest.Operation("Disable", 3);
|
||||
Enable = new ProvisioningPlan.AccountRequest.Operation("Enable", 4);
|
||||
Unlock = new ProvisioningPlan.AccountRequest.Operation("Unlock", 5);
|
||||
Lock = new ProvisioningPlan.AccountRequest.Operation("Lock", 6);
|
||||
} catch (Throwable var1) {
|
||||
if (var1 instanceof ExceptionInInitializerError) {
|
||||
throw (ExceptionInInitializerError)var1;
|
||||
}
|
||||
|
||||
throw var1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static enum ObjectOperation {
|
||||
Create,
|
||||
Modify,
|
||||
Delete,
|
||||
Disable,
|
||||
Enable,
|
||||
Unlock,
|
||||
Lock,
|
||||
Set;
|
||||
|
||||
private String messageKey;
|
||||
|
||||
private ObjectOperation(String messageKey) {
|
||||
try {
|
||||
this.messageKey = messageKey;
|
||||
} catch (Throwable var10) {
|
||||
throw var10;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessageKey() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this.messageKey;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
try {
|
||||
Create = new ProvisioningPlan.ObjectOperation("Create", 0, "resource_object_op_create");
|
||||
Modify = new ProvisioningPlan.ObjectOperation("Modify", 1, "resource_object_op_modify");
|
||||
Delete = new ProvisioningPlan.ObjectOperation("Delete", 2, "resource_object_op_delete");
|
||||
Disable = new ProvisioningPlan.ObjectOperation("Disable", 3, "resource_object_op_disable");
|
||||
Enable = new ProvisioningPlan.ObjectOperation("Enable", 4, "resource_object_op_enable");
|
||||
Unlock = new ProvisioningPlan.ObjectOperation("Unlock", 5, "resource_object_op_unlock");
|
||||
Lock = new ProvisioningPlan.ObjectOperation("Lock", 6, "resource_object_op_lock");
|
||||
Set = new ProvisioningPlan.ObjectOperation("Set", 7, "resource_object_op_set");
|
||||
} catch (Throwable var1) {
|
||||
if (var1 instanceof ExceptionInInitializerError) {
|
||||
throw (ExceptionInInitializerError)var1;
|
||||
}
|
||||
|
||||
throw var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
87
rule-java-docs/src/sailpoint/object/ProvisioningResult.java
Normal file
87
rule-java-docs/src/sailpoint/object/ProvisioningResult.java
Normal file
@@ -0,0 +1,87 @@
|
||||
package sailpoint.object;
|
||||
|
||||
@XMLClass
|
||||
public class ProvisioningResult {
|
||||
public static final String STATUS_QUEUED = "queued";
|
||||
public static final String STATUS_COMMITTED = "committed";
|
||||
public static final String STATUS_FAILED = "failed";
|
||||
public static final String STATUS_RETRY = "retry";
|
||||
String _targetIntegration;
|
||||
String _status;
|
||||
ResourceObject _object;
|
||||
|
||||
public ProvisioningResult() {
|
||||
}
|
||||
|
||||
public String getTargetIntegration() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._targetIntegration;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setTargetIntegration(String s) {
|
||||
|
||||
try {
|
||||
this._targetIntegration = s;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._status;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void setStatus(String s) {
|
||||
|
||||
try {
|
||||
if ("success".equals(s)) {
|
||||
s = "queued";
|
||||
} else if ("committed".equals(s)) {
|
||||
s = "committed";
|
||||
} else if ("failure".equals(s)) {
|
||||
s = "failed";
|
||||
} else if ("retry".equals(s)) {
|
||||
s = "retry";
|
||||
} else if ("warning".equals(s)) {
|
||||
log.warn("STATUS_WARNING found in RequestResult");
|
||||
s = "committed";
|
||||
} else if ("notStarted".equals(s)) {
|
||||
log.warn("STATUS_NOT_STARTED found in RequestResult");
|
||||
s = "queued";
|
||||
} else if ("inProcess".equals(s)) {
|
||||
log.info("STATUS_IN_PROCESS found in RequestResult");
|
||||
s = "queued";
|
||||
}
|
||||
|
||||
this._status = s;
|
||||
Object var4 = null;
|
||||
} catch (Throwable var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
public ResourceObject getObject() {
|
||||
|
||||
try {
|
||||
ResourceObject var2;
|
||||
ResourceObject var3 = var2 = this._object;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
185
rule-java-docs/src/sailpoint/object/QueryOptions.java
Normal file
185
rule-java-docs/src/sailpoint/object/QueryOptions.java
Normal file
@@ -0,0 +1,185 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class QueryOptions {
|
||||
|
||||
private List<QueryOptions.Ordering> _orderings;
|
||||
private List<Filter> _filters;
|
||||
private boolean _distinct;
|
||||
private int _resultLimit;
|
||||
private int _firstRow;
|
||||
private List<String> _groupBys;
|
||||
private List<Filter> _scopeExtensions;
|
||||
private Boolean _scopeResults;
|
||||
private Boolean _unscopedGloballyAccessible;
|
||||
private String _query;
|
||||
private boolean _cacheResults;
|
||||
private boolean _flushBeforeQuery;
|
||||
|
||||
|
||||
public QueryOptions addFilter(Filter f) {
|
||||
return this.add(f);
|
||||
}
|
||||
|
||||
public QueryOptions add(Filter... res) {
|
||||
if (res != null) {
|
||||
for (int i = 0; i < res.length; ++i) {
|
||||
Filter f = res[i];
|
||||
if (f != null) {
|
||||
this._filters.add(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public QueryOptions setOrderBy(String name) {
|
||||
|
||||
if (this._orderings.size() > 1) {
|
||||
throw new RuntimeException("Cannot set orderBy when multiple orderings have been added - use addOrdering()");
|
||||
} else {
|
||||
if (1 == this._orderings.size()) {
|
||||
QueryOptions.Ordering ordering = (QueryOptions.Ordering) this._orderings.get(0);
|
||||
if (null != ordering.getColumn()) {
|
||||
throw new RuntimeException("The orderBy has already been set.");
|
||||
}
|
||||
|
||||
ordering.setColumn(name);
|
||||
} else {
|
||||
this._orderings.add(new QueryOptions.Ordering(name, true));
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public QueryOptions setOrderAscending(boolean b) {
|
||||
if (this._orderings.size() > 1) {
|
||||
throw new RuntimeException("Cannot set ascending when multiple orderings have been added - use addOrdering()");
|
||||
} else {
|
||||
if (1 == this._orderings.size()) {
|
||||
((QueryOptions.Ordering) this._orderings.get(0)).setAscending(b);
|
||||
} else {
|
||||
this._orderings.add(new QueryOptions.Ordering((String) null, b));
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public void setDistinct(boolean b) {
|
||||
this._distinct = b;
|
||||
}
|
||||
|
||||
public QueryOptions setResultLimit(int limit) {
|
||||
|
||||
this._resultLimit = limit;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getFirstRow() {
|
||||
return this._firstRow;
|
||||
}
|
||||
|
||||
public QueryOptions addOrdering(String name, boolean ascending) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<Filter> getFilters() {
|
||||
return this._filters;
|
||||
}
|
||||
|
||||
public void setFilters(List<Filter> filters) {
|
||||
this._filters = filters;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("Filters: ");
|
||||
sb.append(this.getFiltersString(this._filters));
|
||||
sb.append(", Scope extensions: ");
|
||||
sb.append(this.getFiltersString(this._scopeExtensions));
|
||||
sb.append(",scope results [" + this._scopeResults + "]");
|
||||
sb.append(",unscoped globally accessible [" + this._unscopedGloballyAccessible + "]");
|
||||
if (this._orderings != null) {
|
||||
sb.append(",Ordering ==" + this._orderings.toString() + "");
|
||||
}
|
||||
|
||||
if (this._groupBys != null) {
|
||||
sb.append(",Group by == " + this._groupBys.toString());
|
||||
}
|
||||
|
||||
sb.append(",Query [" + this._query + "]");
|
||||
sb.append(",ResultLimit [" + this._resultLimit + "]");
|
||||
sb.append(",First Row [" + this._firstRow + "]");
|
||||
sb.append(",Distinct [" + this._distinct + "]");
|
||||
sb.append(",Cache results [" + this._cacheResults + "]");
|
||||
sb.append(",Flush before query [" + this._flushBeforeQuery + "]");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String getFiltersString(List<Filter> filters) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (filters != null && filters.size() > 0) {
|
||||
int i = 1;
|
||||
Iterator var4 = filters.iterator();
|
||||
|
||||
while (var4.hasNext()) {
|
||||
Filter filter = (Filter) var4.next();
|
||||
sb.append("Filter [" + i++ + "] == " + filter.getExpression() + "\n");
|
||||
}
|
||||
} else {
|
||||
sb.append("none defined");
|
||||
}
|
||||
|
||||
String var8;
|
||||
String var9 = var8 = sb.toString();
|
||||
return var8;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static class Ordering {
|
||||
private String column;
|
||||
private boolean ascending;
|
||||
private boolean ignoreCase;
|
||||
|
||||
public Ordering(String column, boolean ascending, boolean ignoreCase) {
|
||||
this.column = column;
|
||||
this.ascending = ascending;
|
||||
this.ignoreCase = ignoreCase;
|
||||
}
|
||||
|
||||
public Ordering(String column, boolean ascending) {
|
||||
this.column = column;
|
||||
this.ascending = ascending;
|
||||
this.ignoreCase = false;
|
||||
}
|
||||
|
||||
public String getColumn() {
|
||||
return this.column;
|
||||
}
|
||||
|
||||
public void setColumn(String column) {
|
||||
this.column = column;
|
||||
}
|
||||
|
||||
public boolean isAscending() {
|
||||
return this.ascending;
|
||||
}
|
||||
|
||||
public void setAscending(boolean ascending) {
|
||||
this.ascending = ascending;
|
||||
}
|
||||
|
||||
public boolean isIgnoreCase() {
|
||||
return this.ignoreCase;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.column + " " + (this.ascending ? "ascending" : "descending");
|
||||
}
|
||||
}
|
||||
}
|
||||
34
rule-java-docs/src/sailpoint/object/ResourceObject.java
Normal file
34
rule-java-docs/src/sailpoint/object/ResourceObject.java
Normal file
@@ -0,0 +1,34 @@
|
||||
package sailpoint.object;
|
||||
|
||||
/**
|
||||
* Read-only representation of account data that has been aggregated. Use this as a basis to determine correlation linkages with a specific identity.
|
||||
*/
|
||||
|
||||
public class ResourceObject {
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getIdentity() {
|
||||
return "identity";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attribute value provided as a string
|
||||
* @param name The name of the attribute to retrieve
|
||||
* @return the string value of the given attribute name
|
||||
*/
|
||||
public String getStringAttribute(String name) {
|
||||
return "stringAttribute";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the attribute value provided as a string
|
||||
* @param name The name of the attribute
|
||||
* @return the string value of the given attribute name
|
||||
*/
|
||||
public String getString(String name) {
|
||||
return "string";
|
||||
}
|
||||
}
|
||||
34
rule-java-docs/src/sailpoint/object/RoleAssignment.java
Normal file
34
rule-java-docs/src/sailpoint/object/RoleAssignment.java
Normal file
@@ -0,0 +1,34 @@
|
||||
package sailpoint.object;
|
||||
|
||||
|
||||
public class RoleAssignment{
|
||||
String _roleId;
|
||||
String _roleName;
|
||||
|
||||
|
||||
public RoleAssignment() {
|
||||
}
|
||||
|
||||
|
||||
public String getRoleId() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._roleId;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
public String getRoleName() {
|
||||
|
||||
try {
|
||||
String var2;
|
||||
String var3 = var2 = this._roleName;
|
||||
return var2;
|
||||
} catch (Throwable var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
36
rule-java-docs/src/sailpoint/object/Schema.java
Normal file
36
rule-java-docs/src/sailpoint/object/Schema.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package sailpoint.object;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class Schema {
|
||||
|
||||
public String getObjectType() {
|
||||
return "objectType";
|
||||
}
|
||||
|
||||
public String getNativeObjectType() {
|
||||
return "nativeObject";
|
||||
}
|
||||
|
||||
public List<AttributeDefinition> getAttributes() {
|
||||
return new ArrayList<AttributeDefinition>();
|
||||
}
|
||||
|
||||
public String getDisplayAttribute() {
|
||||
return "displayAttribute";
|
||||
}
|
||||
|
||||
public String getIdentityAttribute() {
|
||||
return "identityAttribute";
|
||||
}
|
||||
|
||||
public AttributeDefinition getAttributeDefinition(String name) {
|
||||
return new AttributeDefinition();
|
||||
}
|
||||
|
||||
public List<String> getEntitlementAttributeNames() {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
133
rule-java-docs/src/sailpoint/rule/Account.java
Normal file
133
rule-java-docs/src/sailpoint/rule/Account.java
Normal file
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* Copyright (C) 2019 SailPoint Technologies, Inc., All Rights Reserved.
|
||||
*/
|
||||
|
||||
package sailpoint.rule;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Definition of an Account interface available to Rule implementors.
|
||||
*/
|
||||
public class Account {
|
||||
|
||||
/**
|
||||
* Gets the native identity of the account.
|
||||
*
|
||||
* @return The native identity.
|
||||
*/
|
||||
public String getNativeIdentity() {
|
||||
return "nativeIdentity";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the UUID of the account.
|
||||
*
|
||||
* @return The UUID or null if does not exist.
|
||||
*/
|
||||
public String getUuid() {
|
||||
return "uuid";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the id of the source the account is on.
|
||||
*
|
||||
* @return The source id.
|
||||
*/
|
||||
public String getSourceId() {
|
||||
return "sourceId";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the id of the identity that owns the source.
|
||||
*
|
||||
* @return The identity id.
|
||||
*/
|
||||
public String getIdentityId() {
|
||||
return "identityId";
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the raw attributes of the account.
|
||||
*
|
||||
* @return The attributes.
|
||||
*/
|
||||
public Map<String, Object> getAttributes() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account is authoritative.
|
||||
*
|
||||
* @return True if authoritative, false otherwise.
|
||||
*/
|
||||
public boolean isAuthoritative() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the description of the account.
|
||||
*
|
||||
* @return The description.
|
||||
*/
|
||||
public String getDescription() {
|
||||
return "description";
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account is disabled.
|
||||
*
|
||||
* @return True if the account is disabled, false otherwise.
|
||||
*/
|
||||
public boolean isDisabled() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account is locked.
|
||||
*
|
||||
* @return True if the account is locked, false otherwise.
|
||||
*/
|
||||
public boolean isLocked() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account is a system account. An account is a system account
|
||||
* when it is on the IdentityNow application.
|
||||
*
|
||||
* @return True if the account is a system account, false otherwise.
|
||||
*/
|
||||
public boolean isSystemAccount() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account is uncorrelated.
|
||||
*
|
||||
* @return True if the account is uncorrelated, false otherwise.
|
||||
*/
|
||||
public boolean isUncorrelated() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account was manually correlated.
|
||||
*
|
||||
* @return True if the account was manually correlated, false otherwise.
|
||||
*/
|
||||
public boolean isManuallyCorrelated() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the account has entitlements.
|
||||
*
|
||||
* @return True if the account has entitlements, false otherwise.
|
||||
*/
|
||||
public boolean hasEntitlements() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
125
rule-java-docs/src/sailpoint/rule/Identity.java
Normal file
125
rule-java-docs/src/sailpoint/rule/Identity.java
Normal file
@@ -0,0 +1,125 @@
|
||||
package sailpoint.rule;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Definition of a User interface available to Rule implementors.
|
||||
*/
|
||||
public interface Identity {
|
||||
|
||||
/**
|
||||
* Get the internal name of the User.
|
||||
* @return the internal name
|
||||
*/
|
||||
String getName();
|
||||
|
||||
/**
|
||||
* Get the display name of the identity
|
||||
* @return The displayName
|
||||
*/
|
||||
String getDisplayName();
|
||||
|
||||
/**
|
||||
* Get the internal unique identifier.
|
||||
* @return The id
|
||||
*/
|
||||
String getId();
|
||||
|
||||
/**
|
||||
* Get the first name of the User.
|
||||
* @return The FirstName
|
||||
*/
|
||||
String getFirstName();
|
||||
|
||||
/**
|
||||
* Get the last name of the User.
|
||||
* @return The LastName
|
||||
*/
|
||||
String getLastName();
|
||||
|
||||
/**
|
||||
* Get the phone of the User.
|
||||
* @return The phone
|
||||
*/
|
||||
String getPhone();
|
||||
|
||||
/**
|
||||
* Get the work phone of the User.
|
||||
* @return The work phone
|
||||
*/
|
||||
String getWorkPhone();
|
||||
|
||||
/**
|
||||
* Get the personal email of the User.
|
||||
* @return The personal email address
|
||||
*/
|
||||
String getPersonalEmail();
|
||||
|
||||
/**
|
||||
* Get the work email of the User.
|
||||
* @return The work email
|
||||
*/
|
||||
String getEmail();
|
||||
|
||||
/**
|
||||
* Get the current lifecycle state of the User.
|
||||
* @return The lifecycle state
|
||||
*/
|
||||
String getLifecycleState();
|
||||
|
||||
/**
|
||||
* Get the raw attributes of the User.
|
||||
*
|
||||
* @return The map attributes derived from attribute promotion.
|
||||
*/
|
||||
Map<String, Object> getAttributes();
|
||||
|
||||
/**
|
||||
* Get the uid of the USer;
|
||||
* @return The Uid
|
||||
*/
|
||||
String getUid();
|
||||
|
||||
/**
|
||||
* Check to see if the current user has reports and is a manager.
|
||||
* @return true if the User is a manager, false otherwise
|
||||
*/
|
||||
boolean isManager();
|
||||
|
||||
/**
|
||||
* The internal ID of the manager for this User.
|
||||
* @return The internal ID of the manager
|
||||
*/
|
||||
String getManagerId();
|
||||
|
||||
/**
|
||||
* Gets the name of the user's manager.
|
||||
* @return The name of the manager
|
||||
*/
|
||||
String getManagerName();
|
||||
|
||||
/**
|
||||
* Get the country of the user
|
||||
* @return The country
|
||||
*/
|
||||
String getCountry();
|
||||
|
||||
/**
|
||||
* Get the user's employee number;
|
||||
* @return The employee number
|
||||
*/
|
||||
String getEmployeeNumber();
|
||||
|
||||
/**
|
||||
* Get the user's specified attribute as a string
|
||||
* @return The attribute string
|
||||
*/
|
||||
String getStringAttribute(String attributeName);
|
||||
|
||||
/**
|
||||
* Get the user's specified attribute as an object
|
||||
* @return The attribute object
|
||||
*/
|
||||
Object getAttribute(String attributeName);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2021 SailPoint Technologies, Inc., All Rights Reserved.
|
||||
*/
|
||||
package sailpoint.rule;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Model to represent MangedAttribute "view" returned by IdnRuleUtil.
|
||||
*/
|
||||
public class ManagedAttributeDetails {
|
||||
private String description;
|
||||
private Map<String, Object> attributes;
|
||||
private String name;
|
||||
private String value;
|
||||
private String type;
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public Map<String, Object> getAttributes() {
|
||||
return attributes;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
}
|
||||
1097
rule-java-docs/src/sailpoint/server/IdnRuleUtil.java
Normal file
1097
rule-java-docs/src/sailpoint/server/IdnRuleUtil.java
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user