Skip to main content

JDBC BuildMap Rule

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​

ArgumentTypePurpose
resultjava.sql.ResultSetCurrent ResultSet from the JDBC Connector.
connectionjava.sql.ConnectionReference to the current SQL connection.
statejava.util.MapMap that can be used to store and share data between executions of this rule during a single aggregation run.
applicationsailpoint.object.ApplicationReference to the source JDBC Application.
schemasailpoint.object.SchemaReference to the schema object for the JDBC source being read.

Output​

ArgumentTypePurpose
mapjava.util.MapMap 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.