Repository: incubator-htrace Updated Branches: refs/heads/master 81bae01b5 -> 5d9e31fcc
HTRACE-148. Add deserialization utility method to MilliSpan for testing outside of htrace-core (iwasakims) Project: http://git-wip-us.apache.org/repos/asf/incubator-htrace/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-htrace/commit/5d9e31fc Tree: http://git-wip-us.apache.org/repos/asf/incubator-htrace/tree/5d9e31fc Diff: http://git-wip-us.apache.org/repos/asf/incubator-htrace/diff/5d9e31fc Branch: refs/heads/master Commit: 5d9e31fccbf55d7c0805676b4a942864b7c6ac58 Parents: 81bae01 Author: Masatake Iwasaki <[email protected]> Authored: Fri Apr 24 12:27:47 2015 +0900 Committer: Masatake Iwasaki <[email protected]> Committed: Fri Apr 24 12:27:47 2015 +0900 ---------------------------------------------------------------------- .../java/org/apache/htrace/impl/MilliSpan.java | 11 +++++++++-- .../java/org/apache/htrace/impl/TestMilliSpan.java | 17 +++++------------ .../htrace/impl/TestHTracedRESTReceiver.java | 4 +--- 3 files changed, 15 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/5d9e31fc/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java b/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java index c57eb25..c688858 100644 --- a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java +++ b/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java @@ -21,12 +21,13 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectReader; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.apache.htrace.Span; import org.apache.htrace.TimelineAnnotation; import org.apache.htrace.Tracer; -import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.StringWriter; @@ -47,7 +48,9 @@ import java.util.Random; */ @JsonDeserialize(using = MilliSpan.MilliSpanDeserializer.class) public class MilliSpan implements Span { - private static ObjectWriter JSON_WRITER = new ObjectMapper().writer(); + private static ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private static ObjectReader JSON_READER = OBJECT_MAPPER.reader(MilliSpan.class); + private static ObjectWriter JSON_WRITER = OBJECT_MAPPER.writer(); private static final long EMPTY_PARENT_ARRAY[] = new long[0]; private static final String EMPTY_STRING = ""; @@ -384,4 +387,8 @@ public class MilliSpan implements Span { return builder.build(); } } + + static MilliSpan fromJson(String json) throws IOException { + return JSON_READER.readValue(json); + } } http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/5d9e31fc/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java b/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java index 41ee108..2e0edde 100644 --- a/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java +++ b/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java @@ -16,8 +16,6 @@ */ package org.apache.htrace.impl; -import com.fasterxml.jackson.databind.ObjectMapper; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -81,8 +79,7 @@ public class TestMilliSpan { spanId(989L). traceId(444).build(); String json = span.toJson(); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(json, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(json); compareSpans(span, dspan); } @@ -97,8 +94,7 @@ public class TestMilliSpan { spanId(-1L). traceId(-1L).build(); String json = span.toJson(); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(json, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(json); compareSpans(span, dspan); } @@ -114,8 +110,7 @@ public class TestMilliSpan { spanId(random.nextLong()). traceId(random.nextLong()).build(); String json = span.toJson(); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(json, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(json); compareSpans(span, dspan); } @@ -140,8 +135,7 @@ public class TestMilliSpan { builder.timeline(timeline); MilliSpan span = builder.build(); String json = span.toJson(); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(json, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(json); compareSpans(span, dspan); } @@ -149,8 +143,7 @@ public class TestMilliSpan { public void testJsonSerializationWithFieldsNotSet() throws Exception { MilliSpan span = new MilliSpan.Builder().build(); String json = span.toJson(); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(json, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(json); compareSpans(span, dspan); } } http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/5d9e31fc/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java ---------------------------------------------------------------------- diff --git a/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java b/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java index 9a01005..a6faa02 100644 --- a/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java +++ b/htrace-htraced/src/test/java/org/apache/htrace/impl/TestHTracedRESTReceiver.java @@ -24,7 +24,6 @@ import static org.junit.Assert.assertTrue; import java.io.File; import java.net.URL; -import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.htrace.HTraceConfiguration; @@ -160,8 +159,7 @@ public class TestHTracedRESTReceiver { return false; } LOG.info("Got " + content + " for span " + i); - ObjectMapper mapper = new ObjectMapper(); - MilliSpan dspan = mapper.readValue(content, MilliSpan.class); + MilliSpan dspan = MilliSpan.fromJson(content); assertEquals((long)i, dspan.getSpanId()); // Every span should have the process ID we set in the // configuration... except for the last span, which had
