public FilterInfo getFilterScriptFromCassandraRow(Row<String, String> row) {
String filterName = null;
int revision = -1;
try {
ColumnList<String> columns = row.getColumns();
filterName = columns.getColumnByName("filter_name").getStringValue();
String filter_id = columns.getColumnByName("filter_id").getStringValue();
FilterType filterType = FilterType.valueOf(columns.getColumnByName("filter_type").getStringValue());
String filterDisable = columns.getColumnByName("filter_disable") != null ? columns.getColumnByName("filter_disable").getStringValue() : "?";
String filterOrder = columns.getColumnByName("filter_order") != null ? columns.getColumnByName("filter_order").getStringValue() : "?";
revision = (int) columns.getColumnByName("revision").getLongValue();
boolean isActive = columns.getColumnByName("active").getBooleanValue();
boolean isCanary = columns.getColumnByName("canary").getBooleanValue();
Date creationDate = columns.getColumnByName("creation_date").getDateValue();
String filterCode = new String(columns.getColumnByName("filter_code").getByteArrayValue());
String application_name = columns.getColumnByName("application_name").getStringValue();
FilterInfo filterInfo = new FilterInfo(filter_id, revision, creationDate, isActive, isCanary, filterCode, filterType, filterName, filterDisable, filterOrder, application_name);
return filterInfo;
} catch (Exception e) {
logger.warn("Unable to retrieve data from row => uri : " + filterName + " revision: " + revision + " row: " + row, e);
return null;
}
}