package uk.bl.monitrix.database.cassandra.model; import com.datastax.driver.core.Row; import uk.bl.monitrix.database.cassandra.CassandraProperties; import uk.bl.monitrix.model.Alert; /** * An implementation of {@link Alert} backed by CassandraDB. * @author Rainer Simon <rainer.simon@ait.ac.at> */ public class CassandraAlert implements Alert { private Row row; public CassandraAlert(Row row) { this.row = row; } @Override public long getTimestamp() { return row.getLong(CassandraProperties.FIELD_ALERT_LOG_TIMESTAMP); } @Override public String getOffendingHost() { return row.getString(CassandraProperties.FIELD_ALERT_LOG_OFFENDING_HOST).toString(); } @Override public AlertType getAlertType() { return AlertType.valueOf(row.getString(CassandraProperties.FIELD_ALERT_LOG_ALERT_TYPE).toString()); } @Override public String getAlertDescription() { return row.getString(CassandraProperties.FIELD_ALERT_LOG_DESCRIPTION).toString(); } }