in src/main/java/com/epam/digital/data/platform/kafkaapi/core/commandhandler/util/DmlOperationHandler.java [52:74]
public String save(DmlOperationArgs args) {
log.info("Inserting into table {}", args.getTableName());
var connection = DataSourceUtils.getConnection(dataSource);
try (CallableStatement statement = connection.prepareCall(DmlOperation.I.getSqlString())) {
Array rolesDbArray = connection
.createArrayOf("text", JwtClaimsUtils.getRoles(args.getUserClaims()).toArray());
statement.setString(1, args.getTableName()); //NOSONAR
statement.setString(2, HStoreConverter.toString(args.getSysValues()));
statement.setString(3, HStoreConverter.toString(args.getBusinessValues()));
statement.setArray(4, rolesDbArray);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
return resultSet.getString(INSERT_ID_COLUMN);
} else {
throw new ProcedureErrorException(
"Inserted ID is not returned from procedure in column " + INSERT_ID_COLUMN);
}
} catch (SQLException e) {
throw SQLExceptionResolverUtil.getDetailedExceptionFromSql(e);
}
}