package com.cyngn.chrono.storage.entity; import com.datastax.driver.mapping.annotations.Column; import com.datastax.driver.mapping.annotations.FrozenValue; import com.datastax.driver.mapping.annotations.PartitionKey; import com.datastax.driver.mapping.annotations.Table; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang.StringUtils; import java.util.Date; import java.util.List; /** * The expected payload coming from the client after they've run all the tests. * * @author truelove@cyngn.com (Jeremy Truelove) 9/12/14 */ @Table(keyspace = "chrono", name = "report") public class MetricReport { @JsonProperty("batch_name") @PartitionKey(0) @Column(name = "batch_name") public String batchName; /** * ie wifi or data */ @JsonProperty @Column public String mode; @JsonProperty("device_id") @PartitionKey(1) @Column(name = "device_id") public String deviceId; @JsonProperty("mobile_carrier") @Column(name = "mobile_carrier") public String mobileCarrier; @JsonProperty("mobile_rssi") @Column(name = "mobile_rssi") public String mobileRSSI; @JsonProperty("wifi_state") @Column(name = "wifi_state") public String wifiState; @JsonProperty("wifi_rssi") @Column(name = "wifi_rssi") public String wifiRssi; @JsonProperty("gps_coordinates") @Column(name = "gps_coordinates") public String gpsCoordinates; @JsonProperty @Column public String tag; @JsonProperty("mobile_network_class") @Column(name = "mobile_network_class") public String mobileNetworkClass; @JsonProperty("mobile_network_type") @Column(name = "mobile_network_type") public String mobileNetworkType; @JsonIgnore @PartitionKey(2) @Column(name = "created") public Date created; @JsonIgnore @Column(name = "client_ip") public String client_ip; @JsonProperty @FrozenValue @Column public List<Measurement> measurements; public MetricReport() { } public String getBatchName() { return batchName; } public void setBatchName(String batchName) { this.batchName = batchName; } public String getMode() { return mode; } public void setMode(String mode) { this.mode = mode; } public String getDeviceId() { return deviceId; } public void setDeviceId(String deviceId) { this.deviceId = deviceId; } public String getMobileCarrier() { return mobileCarrier; } public void setMobileCarrier(String mobileCarrier) { this.mobileCarrier = mobileCarrier; } public String getMobileRSSI() { return mobileRSSI; } public void setMobileRSSI(String mobileRSSI) { this.mobileRSSI = mobileRSSI; } public String getWifiState() { return wifiState; } public void setWifiState(String wifiState) { this.wifiState = wifiState; } public String getWifiRssi() { return wifiRssi; } public void setWifiRssi(String wifiRssi) { this.wifiRssi = wifiRssi; } public String getGpsCoordinates() { return gpsCoordinates; } public void setGpsCoordinates(String gpsCoordinates) { this.gpsCoordinates = gpsCoordinates; } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } public String getMobileNetworkClass() { return mobileNetworkClass; } public void setMobileNetworkClass(String mobileNetworkClass) { this.mobileNetworkClass = mobileNetworkClass; } public String getMobileNetworkType() { return mobileNetworkType; } public void setMobileNetworkType(String mobileNetworkType) { this.mobileNetworkType = mobileNetworkType; } public Date getCreated() { return created; } public void setCreated(Date created) { this.created = created; } public String getClient_ip() { return client_ip; } public void setClient_ip(String client_ip) { this.client_ip = client_ip; } public List<Measurement> getMeasurements() { return measurements; } public void setMeasurements(List<Measurement> measurements) { this.measurements = measurements; } @Override public String toString() { return "MetricReport{" + "batchName='" + batchName + '\'' + ", mode='" + mode + '\'' + ", deviceId='" + deviceId + '\'' + ", mobileCarrier='" + mobileCarrier + '\'' + ", mobileRSSI='" + mobileRSSI + '\'' + ", wifiState='" + wifiState + '\'' + ", wifiRssi='" + wifiRssi + '\'' + ", gpsCoordinates='" + gpsCoordinates + '\'' + ", tag='" + tag + '\'' + ", mobileNetworkClass='" + mobileNetworkClass + '\'' + ", mobileNetworkType='" + mobileNetworkType + '\'' + ", created=" + created + ", client_ip='" + client_ip + '\'' + ", measurements=[" + StringUtils.join(measurements, ",") + "]}"; } }