diff --git a/pom.xml b/pom.xml
index 12776b5..b5519a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,6 +135,19 @@
1.0.0
+
+ com.dslplatform
+ dsl-json
+ 0.9.5
+
+
+
+ com.dslplatform
+ dsl-json-processor
+ 0.4
+ provided
+
+
@@ -146,6 +159,10 @@
1.7
1.7
+
+ com.dslplatform.json.CompiledJsonProcessor
+ org.openjdk.jmh.generators.BenchmarkProcessor
+
true
true
true
diff --git a/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementPOJO.java b/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementPOJO.java
index b8feba4..6798939 100644
--- a/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementPOJO.java
+++ b/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementPOJO.java
@@ -1,11 +1,14 @@
package com.cowtowncoder.jsonperf.dzone;
+import com.dslplatform.json.CompiledJson;
+
import java.util.List;
/**
* Simple wrapper used to contain List of items to (de)serialize; used to avoid
* need to handle generic types like Lists for root values;
*/
+@CompiledJson
public class MeasurementPOJO
{
public List items;
diff --git a/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementRecord.java b/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementRecord.java
index 4c1e7f0..6b261b6 100644
--- a/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementRecord.java
+++ b/src/main/java/com/cowtowncoder/jsonperf/dzone/MeasurementRecord.java
@@ -20,7 +20,7 @@ public class MeasurementRecord
public long time;
// for deser
- protected MeasurementRecord() { }
+ public MeasurementRecord() { }
public MeasurementRecord(String measurementId, MeasurementType type,
long duration, long time)
diff --git a/src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadPojoDslJson.java b/src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadPojoDslJson.java
new file mode 100755
index 0000000..f3fb155
--- /dev/null
+++ b/src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadPojoDslJson.java
@@ -0,0 +1,31 @@
+package com.cowtowncoder.jsonperf.dzone.read;
+
+import com.cowtowncoder.jsonperf.dzone.MeasurementPOJO;
+import com.dslplatform.json.DslJson;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.State;
+
+import java.util.concurrent.TimeUnit;
+
+@State(Scope.Thread)
+@OutputTimeUnit(TimeUnit.SECONDS)
+public class DZoneReadPojoDslJson extends DZoneReadTestBase
+{
+ private final DslJson