Files
developer.sailpoint.com/docs/extensibility/rules/connector-rules/jdbc_build_map_rule.md
2024-05-09 14:52:51 -04:00

2.8 KiB

id, title, pagination_label, sidebar_label, sidebar_class_name, keywords, description, slug, tags
id title pagination_label sidebar_label sidebar_class_name keywords description slug tags
jdbc-buildmap-rule JDBC BuildMap Rule JDBC BuildMap Rule JDBC BuildMap Rule jdbcBuildMapRule
cloud
rules
This rule manipulates raw input data provided by the rows and columns in a file and builds a map from the incoming data. /extensibility/rules/connector-rules/jdbc-buildmap-rule
Rules

Overview

This rule manipulates raw input data provided by the rows and columns in a file and builds a map from the incoming data.

Execution

  • Connector Execution - This rule executes within the virtual appliance. It may offer special abilities to perform connector-related functions, and it may offer managed connections to sources.
  • Logging - Logging statements are viewable within the ccg.log on the virtual appliance, and they are viewable by SailPoint personnel.

Rule Execution

Input

Argument Type Purpose
result java.sql.ResultSet Current ResultSet from the JDBC Connector.
connection java.sql.Connection Reference to the current SQL connection.
state java.util.Map Map that can be used to store and share data between executions of this rule during a single aggregation run.
application sailpoint.object.Application Reference to the source JDBC Application.
schema sailpoint.object.Schema Reference to the schema object for the JDBC source being read.

Output

Argument Type Purpose
map java.util.Map Map of names/values representing a row of data from the JDBC resource.

Template

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule name="Example Rule" type="JDBCBuildMap">
  <Description>Describe your rule here.</Description>
  <Source><![CDATA[

  // Add your logic here.

  ]]></Source>
</Rule>

Example

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule name="Example Rule" type="JDBCBuildMap">
  <Description>
This basic rule performs the default mapping and then replaces the status value read from the database with a
Boolean inactive attribute in the map.
</Description>
  <Source><![CDATA[

     import sailpoint.connector.*;

     Map map = JDBCConnector.buildMapFromResultSet(result, schema);

     String status = (String) map.get("status");

     if( "inactive".equals(status) ) {

          map.put("inactive", true);

     } else {

          map.put("inactive", false);

     }

     map.remove("status");

     return map;


  ]]></Source>
</Rule>

Attach to Source

Refer to Attaching Connector-Related Rules to Sources for details on how to attach your rule to your source.