Skip to main content

JDBC BuildMap Rule


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


  • 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


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.ApplicationAttribute value of the identity attribute before the rule runs.
schemasailpoint.object.SchemaReference to the schema object for the delimited file source being read.


mapjava.util.MapMap of names/values representing a row of data from the JDBC resource.


<?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>

// Add your logic here.



<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule name="Example Rule" type="JDBCBuildMap">
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.

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);



return map;


Attach to Source

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