From b727608d22263b1fb58105290b2f901efee75adc Mon Sep 17 00:00:00 2001 From: "Pfifer, Justin" Date: Mon, 3 Oct 2016 11:41:22 -0700 Subject: [PATCH] Added Action to Better Handle Deserialization Added an action property that allows the Python JSON module to deserialize into more complex objects. This simplifies the dispatch behavior on the Python side. --- .../messages/JsonFriendlyRecord.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/amazonaws/services/kinesis/multilang/messages/JsonFriendlyRecord.java b/src/main/java/com/amazonaws/services/kinesis/multilang/messages/JsonFriendlyRecord.java index 2e898fad..600489fe 100644 --- a/src/main/java/com/amazonaws/services/kinesis/multilang/messages/JsonFriendlyRecord.java +++ b/src/main/java/com/amazonaws/services/kinesis/multilang/messages/JsonFriendlyRecord.java @@ -14,13 +14,15 @@ */ package com.amazonaws.services.kinesis.multilang.messages; +import java.util.Date; + import com.amazonaws.services.kinesis.clientlibrary.types.UserRecord; import com.amazonaws.services.kinesis.model.Record; +import com.fasterxml.jackson.annotation.JsonProperty; + import lombok.Getter; import lombok.Setter; -import java.util.Date; - /** * Class for encoding Record objects to json. Needed because Records have byte buffers for their data field which causes * problems for the json library we're using. @@ -32,7 +34,9 @@ public class JsonFriendlyRecord { private String partitionKey; private String sequenceNumber; private Date approximateArrivalTimestamp; - private Long subsequenceNumber; + private Long subSequenceNumber; + + public static String ACTION = "record"; /** * Default Constructor. @@ -51,10 +55,15 @@ public class JsonFriendlyRecord { this.sequenceNumber = record.getSequenceNumber(); this.approximateArrivalTimestamp = record.getApproximateArrivalTimestamp(); if (record instanceof UserRecord) { - this.subsequenceNumber = ((UserRecord) record).getSubSequenceNumber(); + this.subSequenceNumber = ((UserRecord) record).getSubSequenceNumber(); } else { - this.subsequenceNumber = null; + this.subSequenceNumber = null; } } + @JsonProperty + public String getAction() { + return ACTION; + } + }