package uk.bl.monitrix.database.cassandra.model; import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.datastax.driver.core.Row; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import uk.bl.monitrix.database.cassandra.CassandraProperties; import uk.bl.monitrix.model.VirusRecord; public class CassandraVirusRecord implements VirusRecord { private String virusName; private Map<String, Integer> occurrences; @SuppressWarnings("unchecked") public CassandraVirusRecord(Row row) { this.virusName = row.getString(CassandraProperties.FIELD_VIRUS_LOG_NAME); try { this.occurrences = new ObjectMapper().readValue(row.getString(CassandraProperties.FIELD_VIRUS_LOG_OCCURENCES), HashMap.class); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override public String getName() { return virusName; } @Override public Map<String, Integer> getOccurences() { return occurrences; } }