private boolean columnChanged( final String key, final String keyValue, final String colType, final GenericResultsetData grs) { List<String> columnValues = grs.getData().get(0).getRow(); String columnValue = null; for (int i = 0; i < grs.getColumnHeaders().size(); i++) { if (key.equals(grs.getColumnHeaders().get(i).getColumnName())) { columnValue = columnValues.get(i); if (notTheSame(columnValue, keyValue, colType)) { return true; } return false; } } throw new PlatformDataIntegrityException( "error.msg.invalid.columnName", "Parameter Column Name: " + key + " not found"); }
private Map<String, Object> getAffectedAndChangedColumns( final GenericResultsetData grs, final Map<String, String> queryParams, final String fkName) { final Map<String, String> affectedColumns = getAffectedColumns(grs.getColumnHeaders(), queryParams, fkName); final Map<String, Object> affectedAndChangedColumns = new HashMap<String, Object>(); for (final String key : affectedColumns.keySet()) { final String columnValue = affectedColumns.get(key); final String colType = grs.getColTypeOfColumnNamed(key); if (columnChanged(key, columnValue, colType, grs)) { affectedAndChangedColumns.put(key, columnValue); } } return affectedAndChangedColumns; }