You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/10/11 14:51:02 UTC

[camel] 01/02: CAMEL-18148: allow deserializing the key and value separately

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 04a704c7d509ffd588917e52248ef0eabba6f6a0
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Tue Oct 11 13:35:11 2022 +0200

    CAMEL-18148: allow deserializing the key and value separately
---
 .../aws2/kinesis/consumer/KinesisDefaultResumeAdapter.java        | 4 ++--
 .../file/consumer/adapters/FileResumeAdapterDelegate.java         | 4 ++--
 .../src/main/java/org/apache/camel/resume/Deserializable.java     | 8 ++++++++
 .../org/apache/camel/support/resume/ResumeActionAwareAdapter.java | 4 ++--
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/consumer/KinesisDefaultResumeAdapter.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/consumer/KinesisDefaultResumeAdapter.java
index 72172ef4bd5..0c472acc8cd 100644
--- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/consumer/KinesisDefaultResumeAdapter.java
+++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/consumer/KinesisDefaultResumeAdapter.java
@@ -88,8 +88,8 @@ public class KinesisDefaultResumeAdapter implements KinesisResumeAdapter, Cachea
 
     @Override
     public boolean deserialize(ByteBuffer keyBuffer, ByteBuffer valueBuffer) {
-        Object keyObj = deserializeObject(keyBuffer);
-        Object valueObj = deserializeObject(valueBuffer);
+        Object keyObj = deserializeKey(keyBuffer);
+        Object valueObj = deserializeValue(valueBuffer);
 
         add(keyObj, valueObj);
 
diff --git a/components/camel-file/src/main/java/org/apache/camel/component/file/consumer/adapters/FileResumeAdapterDelegate.java b/components/camel-file/src/main/java/org/apache/camel/component/file/consumer/adapters/FileResumeAdapterDelegate.java
index c5f0ffaa2c9..79def33b4e3 100644
--- a/components/camel-file/src/main/java/org/apache/camel/component/file/consumer/adapters/FileResumeAdapterDelegate.java
+++ b/components/camel-file/src/main/java/org/apache/camel/component/file/consumer/adapters/FileResumeAdapterDelegate.java
@@ -74,8 +74,8 @@ public class FileResumeAdapterDelegate
 
     @Override
     public boolean deserialize(ByteBuffer keyBuffer, ByteBuffer valueBuffer) {
-        Object keyObj = deserializeObject(keyBuffer);
-        Object valueObj = deserializeObject(valueBuffer);
+        Object keyObj = deserializeKey(keyBuffer);
+        Object valueObj = deserializeValue(valueBuffer);
 
         if (valueObj instanceof File) {
             directoryEntriesResumeAdapter.deserializeFileEntry((File) keyObj, (File) valueObj);
diff --git a/core/camel-api/src/main/java/org/apache/camel/resume/Deserializable.java b/core/camel-api/src/main/java/org/apache/camel/resume/Deserializable.java
index a40a05ad180..73a3d36b2f7 100644
--- a/core/camel-api/src/main/java/org/apache/camel/resume/Deserializable.java
+++ b/core/camel-api/src/main/java/org/apache/camel/resume/Deserializable.java
@@ -53,5 +53,13 @@ public interface Deserializable {
         }
     }
 
+    default Object deserializeKey(ByteBuffer keyBuffer) {
+        return deserializeObject(keyBuffer);
+    }
+
+    default Object deserializeValue(ByteBuffer valueBuffer) {
+        return deserializeObject(valueBuffer);
+    }
+
     boolean deserialize(ByteBuffer keyBuffer, ByteBuffer valueBuffer);
 }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/resume/ResumeActionAwareAdapter.java b/core/camel-support/src/main/java/org/apache/camel/support/resume/ResumeActionAwareAdapter.java
index 03faf8f267d..563f64c8889 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/resume/ResumeActionAwareAdapter.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/resume/ResumeActionAwareAdapter.java
@@ -73,8 +73,8 @@ public class ResumeActionAwareAdapter implements ResumeActionAware, Cacheable, D
 
     @Override
     public boolean deserialize(ByteBuffer keyBuffer, ByteBuffer valueBuffer) {
-        Object key = deserializeObject(keyBuffer);
-        Object value = deserializeObject(valueBuffer);
+        Object key = deserializeKey(keyBuffer);
+        Object value = deserializeValue(valueBuffer);
 
         return add(key, value);
     }