diff --git a/usage/src/main/java/com/ning/billing/usage/timeline/chunks/TimeBytesAndSampleBytes.java b/usage/src/main/java/com/ning/billing/usage/timeline/chunks/TimeBytesAndSampleBytes.java
index f9ff7fa..6d062b9 100644
--- a/usage/src/main/java/com/ning/billing/usage/timeline/chunks/TimeBytesAndSampleBytes.java
+++ b/usage/src/main/java/com/ning/billing/usage/timeline/chunks/TimeBytesAndSampleBytes.java
@@ -18,12 +18,19 @@ package com.ning.billing.usage.timeline.chunks;
import java.util.Arrays;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+
/**
* POJO containing a series of bytes and associated time points
*/
public class TimeBytesAndSampleBytes {
+ @JsonProperty
+ @JsonView(TimelineChunksViews.Compact.class)
private final byte[] timeBytes;
+ @JsonProperty
+ @JsonView(TimelineChunksViews.Compact.class)
private final byte[] sampleBytes;
public TimeBytesAndSampleBytes(final byte[] timeBytes, final byte[] sampleBytes) {
diff --git a/usage/src/test/java/com/ning/billing/usage/timeline/codec/TestTimelineChunkToJson.java b/usage/src/test/java/com/ning/billing/usage/timeline/codec/TestTimelineChunkToJson.java
index afcc647..3c50cec 100644
--- a/usage/src/test/java/com/ning/billing/usage/timeline/codec/TestTimelineChunkToJson.java
+++ b/usage/src/test/java/com/ning/billing/usage/timeline/codec/TestTimelineChunkToJson.java
@@ -53,6 +53,7 @@ public class TestTimelineChunkToJson {
private static final DateTime END_TIME = new DateTime(DateTimeZone.UTC);
private static final DateTime START_TIME = END_TIME.minusMinutes(SAMPLE_COUNT);
+ private byte[] timeBytes;
private byte[] samples;
private TimelineChunk chunk;
@@ -70,7 +71,7 @@ public class TestTimelineChunkToJson {
samples = out.toByteArray();
final DateTime endTime = dateTimes.get(dateTimes.size() - 1);
- final byte[] timeBytes = timelineCoder.compressDateTimes(dateTimes);
+ timeBytes = timelineCoder.compressDateTimes(dateTimes);
chunk = new TimelineChunk(CHUNK_ID, HOST_ID, SAMPLE_KIND_ID, START_TIME, endTime, timeBytes, samples, SAMPLE_COUNT);
}
@@ -78,24 +79,26 @@ public class TestTimelineChunkToJson {
public void testTimelineChunkCompactMapping() throws Exception {
final String chunkToString = mapper.writerWithView(Compact.class).writeValueAsString(chunk);
final Map chunkFromString = mapper.readValue(chunkToString, Map.class);
- Assert.assertEquals(chunkFromString.keySet().size(), 11);
- Assert.assertEquals(chunkFromString.get("hostId"), HOST_ID);
- Assert.assertEquals(chunkFromString.get("sampleKindId"), SAMPLE_KIND_ID);
- Assert.assertEquals(new TextNode((String) chunkFromString.get("samples")).binaryValue(), samples);
+ Assert.assertEquals(chunkFromString.keySet().size(), 10);
+ Assert.assertEquals(chunkFromString.get("sourceId"), HOST_ID);
+ Assert.assertEquals(chunkFromString.get("metricId"), SAMPLE_KIND_ID);
+ final Map<String, String> timeBytesAndSampleBytes = (Map<String, String>) chunkFromString.get("timeBytesAndSampleBytes");
+ Assert.assertEquals(new TextNode(timeBytesAndSampleBytes.get("timeBytes")).binaryValue(), timeBytes);
+ Assert.assertEquals(new TextNode(timeBytesAndSampleBytes.get("sampleBytes")).binaryValue(), samples);
Assert.assertEquals(chunkFromString.get("sampleCount"), SAMPLE_COUNT);
- Assert.assertEquals(chunkFromString.get("startTime"), START_TIME.getMillis());
Assert.assertEquals(chunkFromString.get("aggregationLevel"), 0);
Assert.assertEquals(chunkFromString.get("notValid"), false);
Assert.assertEquals(chunkFromString.get("dontAggregate"), false);
+ Assert.assertEquals(chunkFromString.get("chunkId"), (int) CHUNK_ID);
}
@Test(groups = "fast")
public void testTimelineChunkLooseMapping() throws Exception {
final String chunkToString = mapper.writerWithView(Loose.class).writeValueAsString(chunk);
final Map chunkFromString = mapper.readValue(chunkToString, Map.class);
- Assert.assertEquals(chunkFromString.keySet().size(), 4);
- Assert.assertEquals(chunkFromString.get("hostId"), HOST_ID);
- Assert.assertEquals(chunkFromString.get("sampleKindId"), SAMPLE_KIND_ID);
- Assert.assertNotNull(chunkFromString.get("samplesAsCSV"));
+ Assert.assertEquals(chunkFromString.keySet().size(), 3);
+ Assert.assertEquals(chunkFromString.get("sourceId"), HOST_ID);
+ Assert.assertEquals(chunkFromString.get("metricId"), SAMPLE_KIND_ID);
+ Assert.assertEquals(chunkFromString.get("chunkId"), (int) CHUNK_ID);
}
}