From 92157bdd3966a9462ce694da7da107a6034a86aa Mon Sep 17 00:00:00 2001
From: Ilya Kuramshin
Date: Wed, 2 Aug 2023 13:58:58 +0400
Subject: [PATCH 1/2] BE: Hex serde initialization fix (#4081)
Co-authored-by: iliax
---
.../com/provectus/kafka/ui/serdes/builtin/HexSerde.java | 9 +++++++++
.../provectus/kafka/ui/serdes/builtin/HexSerdeTest.java | 8 ++------
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/builtin/HexSerde.java b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/builtin/HexSerde.java
index cf1a6b793f..343bb4e705 100644
--- a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/builtin/HexSerde.java
+++ b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/serdes/builtin/HexSerde.java
@@ -16,12 +16,21 @@ public class HexSerde implements BuiltInSerde {
return "Hex";
}
+ @Override
+ public void autoConfigure(PropertyResolver kafkaClusterProperties, PropertyResolver globalProperties) {
+ configure(" ", true);
+ }
+
@Override
public void configure(PropertyResolver serdeProperties,
PropertyResolver kafkaClusterProperties,
PropertyResolver globalProperties) {
String delim = serdeProperties.getProperty("delimiter", String.class).orElse(" ");
boolean uppercase = serdeProperties.getProperty("uppercase", Boolean.class).orElse(true);
+ configure(delim, uppercase);
+ }
+
+ private void configure(String delim, boolean uppercase) {
deserializeHexFormat = HexFormat.ofDelimiter(delim);
if (uppercase) {
deserializeHexFormat = deserializeHexFormat.withUpperCase();
diff --git a/kafka-ui-api/src/test/java/com/provectus/kafka/ui/serdes/builtin/HexSerdeTest.java b/kafka-ui-api/src/test/java/com/provectus/kafka/ui/serdes/builtin/HexSerdeTest.java
index a318279f56..4ec28c1509 100644
--- a/kafka-ui-api/src/test/java/com/provectus/kafka/ui/serdes/builtin/HexSerdeTest.java
+++ b/kafka-ui-api/src/test/java/com/provectus/kafka/ui/serdes/builtin/HexSerdeTest.java
@@ -16,16 +16,12 @@ public class HexSerdeTest {
private static final byte[] TEST_BYTES = "hello world".getBytes();
private static final String TEST_BYTES_HEX_ENCODED = "68 65 6C 6C 6F 20 77 6F 72 6C 64";
- private Serde hexSerde;
+ private HexSerde hexSerde;
@BeforeEach
void init() {
hexSerde = new HexSerde();
- hexSerde.configure(
- PropertyResolverImpl.empty(),
- PropertyResolverImpl.empty(),
- PropertyResolverImpl.empty()
- );
+ hexSerde.autoConfigure(PropertyResolverImpl.empty(), PropertyResolverImpl.empty());
}
From 4515ecaf41c3da1e7c15fcdd2e6420e6788a772b Mon Sep 17 00:00:00 2001
From: Roman Zabaluev
Date: Wed, 2 Aug 2023 15:30:37 +0400
Subject: [PATCH 2/2] Update README
Add stats banner
---
README.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/README.md b/README.md
index b276e2756f..e3fa2ab9d2 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,10 @@
ProductHunt
+
+
+
+
#### UI for Apache Kafka is a free, open-source web UI to monitor and manage Apache Kafka clusters.
UI for Apache Kafka is a simple tool that makes your data flows observable, helps find and troubleshoot issues faster and deliver optimal performance. Its lightweight dashboard makes it easy to track key metrics of your Kafka clusters - Brokers, Topics, Partitions, Production, and Consumption.