SDN Controller Programming Guide
95
alert.setTopicId(column.getValue());
} else if (AlertColumnFamily.SYS_ID_NAME
.equals(column.getName())) {
alert.setSysId(column.getValue());
}
}
@Override
public void visit(EnumColumn<String, ? extends Enum<?>> column) {
if (AlertColumnFamily.SEVERITY_COL_NAME
.equals(column.getName())) {
alert.setSeverity((Severity) column.getValue());
}
}
};
for(Column<String, ?> col : source.getColumns()) {
col.accept(visitor);
}
return alert;
}
getColumnDecoder()
getColumnDecoder–This method takes a column as argument and returns the datatype of that
column to the caller. This is required for reading the columns in correct format.
CassandraAlertDao.java:
@Override
protected ColumnDecoder<String, ?> getColumnDecoder(
ColumnName<String, ?> columnName) {
if (columnName == null) {
throw new NullPointerException(...);
}
if (AlertColumnFamily.SEVERITY_COL_NAME.equals(columnName)) {
return AlertColumnFamily.SEV_DECODER;
} else if (AlertColumnFamily.TIMESTAMP_COL_NAME.equals(columnName)) {
return DateColumnDecoder.getInstance();
} else if (AlertColumnFamily.DESC_COL_NAME.equals(columnName) ||
AlertColumnFamily.ORIGIN_COL_NAME.equals(columnName) ||
AlertColumnFamily.TOPIC_COL_NAME.equals(columnName) ||
AlertColumnFamily.SYS_ID_NAME.equals(columnName)) {
return StringColumnDecoder.getInstance();
} else if (AlertColumnFamily.STATE_COL_NAME.equals(columnName)) {
return BooleanColumnDecoder.getInstance();