public Map<String, Object> mapRow(
SqlObjectDefinition<?> definition,
ResultSet rs, int rowNum) throws SQLException {
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
Map<String, Object> mapOfColValues = createColumnMap(columnCount);
for (int i = 1; i <= columnCount; i++) {
String columnName;
if ( (columnName = rsmd.getColumnLabel(i)) != null && columnName.contains(".")) {
Object value = getColumnValue(definition, rs, i);
List<String> names = Lists.newArrayList(splitter.split(columnName));
ObjectMapUtils.pushPath(mapOfColValues, names, value);
}
else {
String key = getColumnKey(definition, rsmd, i);
Object obj = getColumnValue(definition, rs, i);
mapOfColValues.put(key, obj);
}
}
return mapOfColValues;
}