@@ -74,56 +74,57 @@ public Serializer serializer(String topic, Target type) {
7474 public Deserializer deserializer (String topic , Target target ) {
7575 return (recordHeaders , bytes ) ->
7676 switch (target ) {
77+ case KEY -> deserializeKey (bytes );
78+ case VALUE -> deserializeValue (bytes );
79+ };
80+ }
7781
78- case KEY : {
79- Struct keyStruct = KEY_SCHEMA .read (ByteBuffer .wrap (bytes ));
80-
81- String group = keyStruct .getString (CONSUMER_GROUP_ID_KEY );
82- String t = keyStruct .getString (TOPIC_KEY );
83- int partition = keyStruct .getInt (PARTITION_KEY );
84-
85- var map = Map .of (
86- CONSUMER_GROUP_ID_KEY , group ,
87- TOPIC_KEY , t ,
88- PARTITION_KEY , partition
89- );
90-
91- try {
92- var result = OBJECT_MAPPER .writeValueAsString (map );
93- yield new DeserializeResult (result , DeserializeResult .Type .JSON , Map .of ());
94- } catch (JsonProcessingException e ) {
95- log .error ("Error deserializing record" , e );
96- throw new RuntimeException ("Error deserializing record" , e );
97- }
98- }
99-
100- case VALUE : {
101- ByteBuffer value = ByteBuffer .wrap (bytes );
102- Struct header = HEADER_SCHEMA .read (value );
103- short version = header .getShort (VERSION_KEY );
104- Schema valueSchema = valueSchema (version );
105- Struct valueStruct = valueSchema .read (value );
106-
107- long upstreamOffset = valueStruct .getLong (UPSTREAM_OFFSET_KEY );
108- long downstreamOffset = valueStruct .getLong (DOWNSTREAM_OFFSET_KEY );
109- String metadata = valueStruct .getString (METADATA_KEY );
110-
111- var map = Map .of (
112- UPSTREAM_OFFSET_KEY , upstreamOffset ,
113- DOWNSTREAM_OFFSET_KEY , downstreamOffset ,
114- METADATA_KEY , metadata
115- );
116-
117- try {
118- var result = OBJECT_MAPPER .writeValueAsString (map );
119- yield new DeserializeResult (result , DeserializeResult .Type .JSON , Map .of ());
120- } catch (JsonProcessingException e ) {
121- log .error ("Error deserializing record" , e );
122- throw new RuntimeException ("Error deserializing record" , e );
123- }
124- }
82+ private static DeserializeResult deserializeKey (byte [] bytes ) {
83+ Struct keyStruct = KEY_SCHEMA .read (ByteBuffer .wrap (bytes ));
84+
85+ String group = keyStruct .getString (CONSUMER_GROUP_ID_KEY );
86+ String t = keyStruct .getString (TOPIC_KEY );
87+ int partition = keyStruct .getInt (PARTITION_KEY );
88+
89+ var map = Map .of (
90+ CONSUMER_GROUP_ID_KEY , group ,
91+ TOPIC_KEY , t ,
92+ PARTITION_KEY , partition
93+ );
94+
95+ try {
96+ var result = OBJECT_MAPPER .writeValueAsString (map );
97+ return new DeserializeResult (result , DeserializeResult .Type .JSON , Map .of ());
98+ } catch (JsonProcessingException e ) {
99+ log .error ("Error deserializing record" , e );
100+ throw new RuntimeException ("Error deserializing record" , e );
101+ }
102+ }
125103
126- };
104+ private static DeserializeResult deserializeValue (byte [] bytes ) {
105+ ByteBuffer value = ByteBuffer .wrap (bytes );
106+ Struct header = HEADER_SCHEMA .read (value );
107+ short version = header .getShort (VERSION_KEY );
108+ Schema valueSchema = valueSchema (version );
109+ Struct valueStruct = valueSchema .read (value );
110+
111+ long upstreamOffset = valueStruct .getLong (UPSTREAM_OFFSET_KEY );
112+ long downstreamOffset = valueStruct .getLong (DOWNSTREAM_OFFSET_KEY );
113+ String metadata = valueStruct .getString (METADATA_KEY );
114+
115+ var map = Map .of (
116+ UPSTREAM_OFFSET_KEY , upstreamOffset ,
117+ DOWNSTREAM_OFFSET_KEY , downstreamOffset ,
118+ METADATA_KEY , metadata
119+ );
120+
121+ try {
122+ var result = OBJECT_MAPPER .writeValueAsString (map );
123+ return new DeserializeResult (result , DeserializeResult .Type .JSON , Map .of ());
124+ } catch (JsonProcessingException e ) {
125+ log .error ("Error deserializing record" , e );
126+ throw new RuntimeException ("Error deserializing record" , e );
127+ }
127128 }
128129
129130 private static Schema valueSchema (short version ) {
0 commit comments