You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/12/14 09:04:48 UTC
[camel-kafka-connector] 07/15: Prevents a potential null pointer
dereference if the conversion cannot be made in the
SinkPojoToSchemaAndStructTransform
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch camel-master
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit d2508400c97ef44ed33f35732afce43859ac31e8
Author: Otavio Rodolfo Piske <op...@redhat.com>
AuthorDate: Fri Dec 11 17:25:26 2020 +0100
Prevents a potential null pointer dereference if the conversion cannot be made in the SinkPojoToSchemaAndStructTransform
---
.../transforms/SinkPojoToSchemaAndStructTransform.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java b/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
index 30ef9ca..ac15280 100644
--- a/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
+++ b/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
@@ -63,7 +63,13 @@ public class SinkPojoToSchemaAndStructTransform<R extends ConnectRecord<R>> impl
if (r.value() != null && r.valueSchema() != null && Schema.Type.STRUCT.equals(r.valueSchema().type())) {
GenericRecord avroGenericRecord = (GenericRecord)avroData.fromConnectData(r.valueSchema(), r.value());
- LOG.debug("GenericRecord created: {} \nwith schema: {}", avroGenericRecord, avroGenericRecord == null ? "null" : avroGenericRecord.getClass().getName());
+ if (avroGenericRecord == null) {
+ LOG.warn("No GenericRecord was converted as part of this transformation");
+
+ return r;
+ }
+
+ LOG.debug("GenericRecord created: {} \nwith schema: {}", avroGenericRecord, avroGenericRecord.getClass().getName());
GenericDatumWriter<GenericRecord> writer = new GenericDatumWriter<GenericRecord>(avroGenericRecord.getSchema());