From 90b7536b05f4c074c907bb276bd1d11baada4bf1 Mon Sep 17 00:00:00 2001
From: MarcusLinkeHermes <marcus.linke@hermesworld.com>
Date: Tue, 30 Jul 2024 11:57:24 +0200
Subject: [PATCH 1/2] [#111] Support latest kafka (3.7.1)

---
 pom.xml                                            |  7 ++++++-
 .../transform/common/AdjustPrecisionAndScale.java  | 12 ++++++++----
 .../connect/transform/common/HeaderToField.java    | 14 ++++++++++----
 .../transform/common/SetMaximumPrecision.java      | 12 ++++++++----
 .../transform/common/TimestampNowField.java        | 12 ++++++++----
 5 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0627d78..c19f553 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,10 +76,15 @@
             <version>0.9.10</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.github.jcustenborder.kafka.connect</groupId>
+            <artifactId>connect-utils</artifactId>
+            <version>0.7-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.github.jcustenborder.kafka.connect</groupId>
             <artifactId>connect-utils-testing-data</artifactId>
-            <version>${connect-utils.version}</version>
+            <version>0.7-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/AdjustPrecisionAndScale.java b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/AdjustPrecisionAndScale.java
index 6f3812f..dc3c7d4 100644
--- a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/AdjustPrecisionAndScale.java
+++ b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/AdjustPrecisionAndScale.java
@@ -46,10 +46,12 @@
 public class AdjustPrecisionAndScale<R extends ConnectRecord<R>> extends BaseKeyValueTransformation<R> {
   private static final Logger log = LoggerFactory.getLogger(AdjustPrecisionAndScale.class);
 
-  public AdjustPrecisionAndScale(boolean isKey) {
-    super(isKey);
+  public AdjustPrecisionAndScale() {
+    super();
   }
 
+  protected boolean isKey = true;
+
   @Override
   public ConfigDef config() {
     return AdjustPrecisionAndScaleConfig.config();
@@ -210,13 +212,15 @@ public void configure(Map<String, ?> settings) {
 
   public static class Key<R extends ConnectRecord<R>> extends AdjustPrecisionAndScale<R> {
     public Key() {
-      super(true);
+      super();
     }
+    protected boolean isKey = true;
   }
 
   public static class Value<R extends ConnectRecord<R>> extends AdjustPrecisionAndScale<R> {
     public Value() {
-      super(false);
+      super();
     }
+    protected boolean isKey = false;
   }
 }
diff --git a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
index cdf9907..8abff7b 100644
--- a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
+++ b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
@@ -42,10 +42,12 @@ public class HeaderToField<R extends ConnectRecord<R>> extends BaseKeyValueTrans
 
   HeaderToFieldConfig config;
 
-  protected HeaderToField(boolean isKey) {
-    super(isKey);
+  protected HeaderToField() {
+    super();
   }
 
+  protected boolean isKey = true;
+
   @Override
   public ConfigDef config() {
     return HeaderToFieldConfig.config();
@@ -119,13 +121,17 @@ public void configure(Map<String, ?> map) {
 
   public static class Key<R extends ConnectRecord<R>> extends HeaderToField<R> {
     public Key() {
-      super(true);
+      super();
     }
+
+    protected boolean isKey = true;
   }
 
   public static class Value<R extends ConnectRecord<R>> extends HeaderToField<R> {
     public Value() {
-      super(false);
+      super();
     }
+
+    protected boolean isKey = false;
   }
 }
diff --git a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/SetMaximumPrecision.java b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/SetMaximumPrecision.java
index 56a4ca4..31f5967 100644
--- a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/SetMaximumPrecision.java
+++ b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/SetMaximumPrecision.java
@@ -45,8 +45,8 @@
 public class SetMaximumPrecision<R extends ConnectRecord<R>> extends BaseKeyValueTransformation<R> {
   private static final Logger log = LoggerFactory.getLogger(SetMaximumPrecision.class);
 
-  public SetMaximumPrecision(boolean isKey) {
-    super(isKey);
+  public SetMaximumPrecision() {
+    super();
   }
 
   @Override
@@ -161,13 +161,17 @@ public void configure(Map<String, ?> settings) {
 
   public static class Key<R extends ConnectRecord<R>> extends SetMaximumPrecision<R> {
     public Key() {
-      super(true);
+      super();
     }
+
+    protected boolean isKey = true;
   }
 
   public static class Value<R extends ConnectRecord<R>> extends SetMaximumPrecision<R> {
     public Value() {
-      super(false);
+      super();
     }
+
+    protected boolean isKey = false;
   }
 }
diff --git a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/TimestampNowField.java b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/TimestampNowField.java
index 89b3c65..493437b 100644
--- a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/TimestampNowField.java
+++ b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/TimestampNowField.java
@@ -43,20 +43,24 @@ public abstract class TimestampNowField<R extends ConnectRecord<R>> extends Base
   private TimestampNowFieldConfig config;
   Time time = Time.SYSTEM;
 
-  protected TimestampNowField(boolean isKey) {
-    super(isKey);
+  protected TimestampNowField() {
+    super();
   }
 
   public static class Key<R extends ConnectRecord<R>> extends TimestampNowField<R> {
     public Key() {
-      super(true);
+      super();
     }
+
+    protected boolean isKey = true;
   }
 
   public static class Value<R extends ConnectRecord<R>> extends TimestampNowField<R> {
     public Value() {
-      super(false);
+      super();
     }
+
+    protected boolean isKey = false;
   }
 
   @Override

From 784224c28f3d46d0f877afe016b3e85bc581034a Mon Sep 17 00:00:00 2001
From: MarcusLinkeHermes <marcus.linke@hermesworld.com>
Date: Tue, 30 Jul 2024 14:04:37 +0200
Subject: [PATCH 2/2] [#111] HeaderToField constructor must be public

---
 .../kafka/connect/transform/common/HeaderToField.java           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
index 8abff7b..162590a 100644
--- a/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
+++ b/src/main/java/com/github/jcustenborder/kafka/connect/transform/common/HeaderToField.java
@@ -42,7 +42,7 @@ public class HeaderToField<R extends ConnectRecord<R>> extends BaseKeyValueTrans
 
   HeaderToFieldConfig config;
 
-  protected HeaderToField() {
+  public HeaderToField() {
     super();
   }